Ik heb op mijn pagina een gridview en een detailsview staan.
De gridview heeft als datasourde "membership.getallusers" en de detailsview heeft als datasource een GetUser met als command parameter de selected value van de gridview (die als datakeyname "UserName" heeft).
Nu kan ik via de detailsview een nieuwe gebruiker aanmaken. Na het opslaan wordt die nieuwe gebruiker -uiteraard- niet automatisch geselecteerd.
Hoe kan ik nu a.d.h.v. een datakeyname een row in een gridview selecteren? En dan gaat het mij met name om het selecteren van een row die niet in de huidige 'page' zit.
gridview.selectedrow, gridview.selectedDataKey, gridview.selectedDataValue zijn allemaal readonly, dus waarschijnlijk zal ik van de gridview.selectedindex gebruik moeten maken.
Maar het volgende loopje werkt ook niet, want de page wordt niet aangepast als ik die in dit loopje wijzig:
NB: indien de nieuw ingevoegde gebruiker op de eerste pagina staat, wordt deze wel gevonden.
De gridview heeft als datasourde "membership.getallusers" en de detailsview heeft als datasource een GetUser met als command parameter de selected value van de gridview (die als datakeyname "UserName" heeft).
Nu kan ik via de detailsview een nieuwe gebruiker aanmaken. Na het opslaan wordt die nieuwe gebruiker -uiteraard- niet automatisch geselecteerd.
Hoe kan ik nu a.d.h.v. een datakeyname een row in een gridview selecteren? En dan gaat het mij met name om het selecteren van een row die niet in de huidige 'page' zit.
gridview.selectedrow, gridview.selectedDataKey, gridview.selectedDataValue zijn allemaal readonly, dus waarschijnlijk zal ik van de gridview.selectedindex gebruik moeten maken.
Maar het volgende loopje werkt ook niet, want de page wordt niet aangepast als ik die in dit loopje wijzig:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
| Dim bFoundTheUser As Boolean = False For j As Integer = 0 To grdUsers.PageCount - 1 grdUsers.PageIndex = j For i As Integer = 0 To grdUsers.Rows.Count - 1 Dim lnk As LinkButton = grdUsers.Rows(i).Cells(0).Controls(0) If lnk.Text = UserName Then grdUsers.SelectedIndex = i bFoundTheUser = True Exit For End If Next If bFoundTheUser Then Exit For Next |
NB: indien de nieuw ingevoegde gebruiker op de eerste pagina staat, wordt deze wel gevonden.