SnakesMedlem sedan okt. 2004392 inlägg Tjena!
Först vill jag bara säga att jag är nybörjare på ASP.NET
Nu till problemet:
Jag har ett fält i en databas med värden som 0, 1 eller 2.
Iaf, jag har gjort en gridview där dessa värden visas.
Det jag vill göra är att göra en <select> med dessa 3 altenativ och istället för att det ska stå 0, 1 eller 2, vill jag att den ska gå igenom en funktion som heter GetShipType. Alltså så här:
<select name=name>
<option><%=GetShiptType(0)%></option>
<option><%=GetShiptType(1)%></option>
<option><%=GetShiptType(2)%></option>
</select>
På varje rad.
Hoppas ni förstår vad jag menar.
PS. Det är aldrig något annat än 0, 1 eller 2.
EDIT: Jag använder Microsoft Visual Web Developer 2005 Express Edition
DavidBMedlem sedan jan. 20001 372 inlägg Antar att datan ursprungligen ligger i en DataTable?
Utan att själv testa koden så borde detta fungera:
DataTable dt = // det datatable som datan kommer från urspringligen.
ListItemCollection lic = new ListItemCollection();
foreach(DataRow dr in dt.Rows){
lic.Add(new ListItem(GetShipType(Convert.ToInt32(dr["id"]))));
}
ddl.DataSource = lic;
ddl.DataBind();
Med denna koden måste du skapa en DropDownList på din sida som har ID't 'ddl' samt att Columnen som innehåller siffrorna i DataTablen heter id.
SnakesMedlem sedan okt. 2004392 inlägg Har ingen aning vad en DataTable är... använder en SqlDataSource
SnakesMedlem sedan okt. 2004392 inlägg Koden fick mer än 20 fel...
Det känns som att du har skrivit koden i ett annat språk än Visual Basic
DavidBMedlem sedan jan. 20001 372 inlägg Koden är skriven i C#.
Kan du bifoga lite av din kod så man kan se hur den serut? Skulle nog hjälpa lite.
SnakesMedlem sedan okt. 2004392 inlägg Jo, jag kom på att jag behövde det... lite för sent kanske...
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Teknikerportalen</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [No_], [Sell-to Customer Name] AS column1, [Order Date] AS Order_Date, [Serviceorderstatus] FROM [Sales Header] WHERE (([Serviceorder] = @Serviceorder) AND ([Order klar] = @Order_klar) AND ([Mailad till microservice] = @Mailad_till_microservice) ORDER BY [Serviceorderstatus], [Order Date]">
<SelectParameters>
<asp:Parameter DefaultValue="1" Name="Serviceorder" Type="Byte" />
<asp:Parameter DefaultValue="0" Name="Order_klar" Type="Byte" />
<asp:Parameter DefaultValue="0" Name="Mailad_till_microservice" Type="Byte" />
</SelectParameters>
</asp:SqlDataSource>
<asp:Label ID="Label1" runat="server" Width="118px"></asp:Label><br />
<asp:GridView ID="GridView1" runat="server" CellPadding="4" DataSourceID="SqlDataSource1"
ForeColor="#333333" GridLines="None" AutoGenerateColumns="False" Width="688px">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="No_" HeaderText="Ordernr" SortExpression="No_">
<ItemStyle Font-Size="Smaller" Width="10%" />
<HeaderStyle Font-Size="Smaller" HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="column1" HeaderText="Kundnamn" SortExpression="column1">
<ItemStyle Font-Size="Smaller" Width="50%" />
<HeaderStyle Font-Size="Smaller" HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Order_Date" HeaderText="Datum" SortExpression="Order_Date">
<ItemStyle Font-Size="Smaller" Width="10%" />
<HeaderStyle Font-Size="Smaller" HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Serviceorderstatus" HeaderText="Status" SortExpression="Serviceorderstatus">
<ItemStyle Font-Size="Smaller" Width="20%" />
<HeaderStyle Font-Size="Smaller" HorizontalAlign="Left" />
</asp:BoundField>
</Columns>
<RowStyle BackColor="#EFF3FB" />
<EditRowStyle BackColor="#2461BF" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
<br />
<asp:Label ID="Label2" runat="server" Width="118px"></asp:Label><br />
<br />
<asp:Label ID="Label3" runat="server" Width="118px"></asp:Label><br />
</form>
</body>
</html>
Ifall man läser längst upp i koden så märker man att VB koden är i en annan fil
Partial Class _Default
Inherits System.Web.UI.Page
Function GetShipType(ByVal value)
If value = 0 Then
GetShipType = "Upplagd"
ElseIf value = 1 Then
GetShipType = "Bearbetning pågår"
ElseIf value = 2 Then
GetShipType = "Leveransklar"
End If
End Function
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label1.Text = GetShipType(0)
Label2.Text = GetShipType(1)
Label3.Text = GetShipType(2)
End Sub
End Class