webForumDet fria alternativet

Ändra text format i GridView

5 svar · 546 visningar · startad av Snakes

SnakesMedlem sedan okt. 2004392 inlägg
#1

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
#2

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
#3

Har ingen aning vad en DataTable är... använder en SqlDataSource

SnakesMedlem sedan okt. 2004392 inlägg
#4

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
#5

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
#6

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>
        &nbsp;<br />
        <asp:Label ID="Label2" runat="server" Width="118px"></asp:Label><br />
        &nbsp;<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
134 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)