05. august 2004 - 08:11
Der er
12 kommentarer og 1 løsning
Datagrid Edititem template problemer
hejsa jeg har et datagrid, hvor, når der trykeks på edit, kommer en dropdownlist frem i den kolonne i datagriddet, og så vil jeg jo gerne have at dropdownlisten viser det som er valgt, og ikke bare viser index nul men det het, virker ikke,.: SelectedIndex='<%# getSelectedIndex(DataBinder.Eval(Container.DataItem,"statusid")) %>' giver dette: DataBinder.Eval: 'System.Data.DataRowView' does not contain a property with the name statusid. nogen som ved hvad problemet er ?
Annonceindlæg fra Cepheo
05. august 2004 - 09:09
#1
problemet er at du forsøger at kalde en property (statusid) på dit datatitem, som er af type DataRowView - som ikke har sådan en property. Det er nok mere sådan noget her du skal ud i : <%# GetSelectedIndex(Container.DataItem("statusid")) %>
05. august 2004 - 09:44
#2
<%# GetSelectedIndex(Container.DataItem("statusid")) %> giver dette : Compiler Error Message: CS0118: 'System.Web.UI.WebControls.DataGridItem.DataItem' denotes a 'property' where a 'method' was expected :-(
05. august 2004 - 10:17
#3
En komplet kunne se sådan her ud... gør din det ? <EditItemTemplate> <asp:DropDownList runat="server" id="lstCategories" DataValueField="SomeId" DataTextField="Name" DataSource='<%# GetSomething() %>' SelectedIndex='<%# GetSelectedIndex(Container.DataItem("SomeId")) %>' /> </EditItemTemplate>
05. august 2004 - 10:34
#4
Sådan her ser den ud, ca, der hvor ting står på flere linier her, står på en linie i min kode... <asp:TemplateColumn HeaderText="Status"> <HeaderStyle ForeColor="GhostWhite" Width="90px"></HeaderStyle> <ItemTemplate> <asp:Label id=lblproductstatus runat="server" Text='<%# DataBinder.EvalContainer, "DataItem.statusicon") %>'> </asp:Label> </ItemTemplate> <EditItemTemplate> <asp:DropDownList id=drpOrderOptions runat="server" DataSource="<%# GetOptions()%>" DataValueField="statusid" DataTextField="statusname" Width="110px" SelectedIndex='<%# GetSelectedIndex(Container.DataItem("SomeId")) %>'> </asp:DropDownList> </EditItemTemplate> </asp:TemplateColumn>
05. august 2004 - 10:41
#5
ok... du skal nok lige ændre mine tekster.. someid skal nok være statusid.
05. august 2004 - 10:42
#6
jaja :) det ved jeg godt...der står heller ikke someid i min kode :)
05. august 2004 - 11:25
#7
Ok... nyt eksempel :o) <ItemTemplate> <asp:TextBox id=TextBox2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CurrencyCode") %>'> </asp:TextBox> <asp:DropDownList runat="server" id="ddDropDown" DataSource='<%# CurrencyChoices %>' SelectedIndex='<%# GetSelectedIndex(DataBinder.Eval(Container, "DataItem.CurrencyCode").ToString()) %>'/> </asp:DropDownList> </ItemTemplate> Det virker i hvert fald, men lige en ting... Hvordan ser din GetSelectedIndex ud ?
05. august 2004 - 11:29
#8
umm jeg kan bare ikke viser ens ting i ikke edit mode og i edit mode :-( public int getSelectedIndex(object optionid) { string option = ""; if(optionid.Equals(DBNull.Value)) { return 0; } else { option = optionid.ToString(); } DataTable tempdt = this.dsDgProdList.Tables[0]; int indexid = 0; for(int i = 0; i <= tempdt.Rows.Count -1; i++) { if(option.ToString() == tempdt.Rows[i]["statusid"].ToString()) { indexid = i; break; } } return indexid; }
05. august 2004 - 11:44
#9
Den her er jeg ikke sikker på at jeg forstod : "umm jeg kan bare ikke viser ens ting i ikke edit mode og i edit mode :-(" hvis du vil have forskellige templates afhængig af om rækken er i editmode eller ej, så skal de jo bare laves - f.eks. her : <ItemTemplate> <asp:Label id=TextBox2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CurrencyCode") %>'> </asp:Label> </asp:DropDownList> </ItemTemplate> <EditItemTemplate> <asp:DropDownList runat="server" id="ddDropDown" DataSource='<%# CurrencyChoices %>' SelectedIndex='<%# GetSelectedIndex(DataBinder.Eval(Container, "DataItem.CurrencyCode").ToString()) %>'/> </asp:DropDownList> </EditItemTemplate>
10. august 2004 - 00:04
#10
hvad med den her mccannon... er du i hus med det ?
02. oktober 2004 - 03:26
#11
mccannon ? (jeg prøver at rydde op, så du får et svar her, hvis jeg har været behjælpelig) mvh
21. oktober 2004 - 19:49
#12
mccannon ?
09. november 2004 - 00:36
#13
damn..den her havde jeg overset...sorry
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.