webForumDet fria alternativet

Index på kontroller?

.NET

2 svar · 164 visningar · startad av fredrik

Medlem sedan dec. 19991 072 inlägg
Frågan#1

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?

Medlem sedan dec. 19991 072 inlägg
#2

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...

Medlem sedan juni 20011 732 inlägg
#3

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];

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)