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 DE-CIX
Edge computing: behandling ved kilden
Edge computing revolutionerer den måde, data behandles på, ved at bringe kapacitet og ydeevne tættere på dér, hvor der er behov for det.
15. april 2025
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.