04. november 2004 - 00:12Der er
22 kommentarer og 1 løsning
Når der klikkes på item_comman på datagrid, skal datagrid.datakey
Hej
Jeg har en datagrid med item_command link på. Det jeg ønsker, er at når der trykkes på en item_command, skal den sende datagrid.datakey[e.item.ItemIndex] videre til min button_click event.
Jeg formår man kan brug sender til det, men hvordan skal det bikses sammen ?
du kan ikke ændre signaturen de eventhandlere du skriver om, men du kan sørge for at sætte værdien CommandName eller CommandArgument på dine knapper i forbindelse med databinding. du kan så efterfølgende læse dem igen ved f.eks. : ((LinkButton)source).CommandArgument;
jeg er ikke helt med på hvad du skriver.... datagriddet benytter eventbubling for at propagere events i griddet op som ItemCommands, men du skriver også om button_Click... kan du vise lidt af den betydende kode ?
Det vil sige at jeg kan indkapsle "datagrid.datakey[e.item.ItemIndex]" i min link knap's CommandArgument og hent det i min min knap udenfor datagridet ?
hvis jeg ellers forstår dit spørgsmål rigtigt - så ja.... har du "wired" din eventhandler direkte i aspx-koden ? hvis du lægger den aspx-kode der sætter knappen herud + hvis du har noget kode i en ItemDataBound handler ell. så skal du få et forslag tilbage. mvh
mange tak.... men jeg kan ikke se hvor du opretter din knap i det kode du har sendt, så jeg er bange for at du kommer til at den del af din aspx-fil også (jeg går ud fra at det er der det står).
håber det hjælper, kunne man eventuelt lægge dgOversigt.DataKeys[e.Item.ItemIndex] inde i viewstate collectionen, og derefter kunne hente det i min btnRet's eventhandler ?
Og du skal så sørge for at wire din eventhandler på knappen... det kan du gøre i din aspx-kode (har lige fjernet dine styles) : <asp:Button id="btnRet" Text="Ret Note" Visible="False" OnClick="btnRetNote_Click"></asp:Button>
Og i handleren skal du så : retNoteCmd.Parameters["@LicensID"].Value = int.Parse(((Button)sender).CommandArgument);
Tak det virker super godt. Jeg har lige et spørgsmål snepnet, Er det en dum ide at have for mange typecast's i sit program, jeg har lidt dårlig samvittighed med det, er det med god grund ? Smid også lige et svar.
du skal ikke tage det så tungt med typecasting - det er uundgåeligt når man arbejder med så megen generisk funktionalitet.
Der er self. et mindre eller større overhead ved det.... Hvis det er noget du vil gnave dig lidt længere ned i skal du søge på typecasting, boxing og unboxing.
I en applikation som den du laver tager det at dekode dit viewstate sikkert 1000 gange så lang tid som alle dine typecasts tilsammen - såhh.... det er nok ikke noget du skal spekulere så meget over i denne forbindelse.
og der er sikket også steder hvor folk har lavet nogle målinger på det, men hvis du ikke lige kan finde det, kan du ret hurtigt lave en lille rutine der gør det en milion gange - og så se hvor lang tid det tager.
jepper det håber jeg da.... vi må jo holde gang i kategorien :o) /snep
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.