Hmmm...verkar som att jag får ha flera kontroller med samma namn om jag stänger av "Trace"...så då var det problemet löst...
Nu återstår bara hur jag ska hämta upp de kryssrutor som är markerade...
2 svar · 164 visningar · startad av fredrik
Jag behöver loopa upp ett antal checkboxar i en tabell. Jag försöker använda "Checkbox"-objektet, men det går inte för jag får inte ha flera kontroller med samma namn, och den har ingen index-property...
Nån som har några idéer?
Hmmm...verkar som att jag får ha flera kontroller med samma namn om jag stänger av "Trace"...så då var det problemet löst...
Nu återstår bara hur jag ska hämta upp de kryssrutor som är markerade...
Du har visserligen inte ställt någon fråga men jag svarar ändå. :) Har du en datagrid? Jag gjorde något liknande helt enkelt genom att hämta true eller false för varje rad och stoppa in det i min checkbox.
\<asp:TemplateColumn\>
\<ItemTemplate\>
\<asp:CheckBox id="thisID" AutoPostBack="True" OnCheckedChanged="CheckedChanged" Checked='\<%# DataBinder.Eval(Container.DataItem, "ok") %\>' Runat="server"\>\</asp:CheckBox\>
\</ItemTemplate\>
\</asp:TemplateColumn\>
En till parentes: Jag har även en autopostback på checkboxen så att jag direkt kan kryssa i/kryssa bort en checkbox för en rad i min datagrid direkt och spara det nya värdet i min db. För att hämta upp rätt rad för den checkbox jag postar från var jag tvungen att gräva en del men det gick...
//plocka fram radens index från vilken jag klickar i min checkbox
int rowIndex = ((DataGridItem)((CheckBox)sender).Parent.Parent).ItemIndex;
//Hämta min DataKey för det aktuella indexet
int myId = (int)MyDataGrid.DataKeys[rowIndex];