Avatar billede mach3 Nybegynder
04. august 2004 - 17:33 Der er 14 kommentarer og
1 løsning

Få fat i sidste row i en datagrid?

Hej,

Jeg har et datagrid som indeholder to kolonner: id og subject. De er begge integers.

Jeg ønsker at kunne tilskrive en variabel (dim var as integer) med indholdet af sidste rows subject værdi.

Der er altså to spørgsmål:
1. Hvordan tilgår man sidste row i en datagrid
2. Hvordan tilskriver man en integer variabel med det i 1. returnerede data?

På forhånd mange tak for hjælpen.

Mvh
Avatar billede snepnet Nybegynder
04. august 2004 - 17:40 #1
Du kan få fat i en kontrol i det sidste datagriditem sådan her :
ditDataGrid.Items[Items.Count-1].FindControl("kontrollens id");
Avatar billede snepnet Nybegynder
04. august 2004 - 17:42 #2
Og hvis det så skulle være en textbox :
TextBox tb = (TextBox)ditDataGrid.Items[Items.Count-1].FindControl("kontrollens id");

Eller hvis du ikke kender Id, men f.eks. placering :
TextBox tb = (TextBox)ditDataGrid.Items[Items.Count-1].Cells[X].Controls[Y];
Avatar billede snepnet Nybegynder
04. august 2004 - 17:43 #3
Og du kan så skrive til den aktuelle kontrol på vanlig vis... for textbox-eksemplet :
TextBox tb = (TextBox)ditDataGrid.Items[Items.Count-1].FindControl("kontrollens id");
tb.Text = "ny tekst";
Mvh
Avatar billede snepnet Nybegynder
04. august 2004 - 17:44 #4
Hov.... sov lige lidt der. Bemærkede ikke lige det med VB-kategorien :o)
Kan du selv oversætte ?
Avatar billede mach3 Nybegynder
04. august 2004 - 18:03 #5
Hvis du kan må du godt oversætte, og tak for det :-)

Skal lige op og træne, kigger på det når jeg kommer hjem igen. Det kunne være stort hvis det virkede - har kigget på det i lang tid i dag...
Avatar billede snepnet Nybegynder
04. august 2004 - 18:12 #6
Jeg skal se om jeg lige kan få det oversat :o)
mvh
Avatar billede snepnet Nybegynder
04. august 2004 - 22:04 #7
1)
ditDataGrid.Items(Items.Count - 1).FindControl("kontrollens id")

2)
Dim tb As TextBox = CType(ditDataGrid.Items(Items.Count - 1).FindControl("kontrollens id"), TextBox)

3)
Dim tb As TextBox = CType(ditDataGrid.Items(Items.Count - 1).Cells(X).Controls(Y), TextBox)
Avatar billede mach3 Nybegynder
05. august 2004 - 01:54 #8
ok tak for det! det er ved at komme til at virke tror jeg.
men kan ikke hitte ud af: hvad er det for noget som bliver returneret af:

ditDataGrid.Items(ditDataGrid.Items.Count - 1).FindControl("kontrollens id") ?

Jeg ønsker at komme det ind i en simpel variabel, fx en integer...
Avatar billede snepnet Nybegynder
05. august 2004 - 07:46 #9
hvis den celle du vil have fat "bare" er en celle med tekst, kan du få teksten ved
ditDataGrid.Items(Items.Count - 1).Cells(<index på cellen>).Text;

<index på cellen> er så bare nummere på cellen i rækken (første celle har index 0).

Mvh
Avatar billede mach3 Nybegynder
05. august 2004 - 22:06 #10
ok mange tak for hjælpen sneppet!!
Avatar billede mach3 Nybegynder
05. august 2004 - 22:07 #11
hvordan giver jeg dig de 30 point?
Avatar billede snepnet Nybegynder
06. august 2004 - 08:17 #12
Jeg giver dig et svar :o)
Mvh
Avatar billede snepnet Nybegynder
08. august 2004 - 17:05 #13
(men du skal også lige acceptere svaret... der kommer en liste frem med dem der har svaret, og så vælger du bare dem der skal have point)
Avatar billede mach3 Nybegynder
16. september 2004 - 14:31 #14
tak for hjælpen - nu har jeg fattet det :-)
Avatar billede snepnet Nybegynder
16. september 2004 - 14:36 #15
hehe - ok :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester