Avatar billede suppenudel Nybegynder
18. august 2010 - 09:52 Der er 10 kommentarer og
1 løsning

Button i GridView

Hej,

Hvis jeg har en LinkButton i et GridView,
hvordan får jeg så nemmest trukket/udskrevet ID'et fra
den Row som den befinder sig i ved klik?

Mvh.
Avatar billede suppenudel Nybegynder
18. august 2010 - 10:00 #1
Jeg kan fint gøre det ved at anvende

CommandName="Select"
CommandName="Delete"
CommandName="Edit"

På en LinkButton. Men hvad er metoden hvis jeg ønsker at rejse events udover det?
Avatar billede jokkejensen Novice
18. august 2010 - 11:10 #2
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs
e )
{
int index = Convert.ToInt32( e.CommandArgument );
myFunction( index );
}


private void myFunction (int rowIndex)
{
Response.Write ("Do some action with row " + rowIndex.ToString());
}
Avatar billede suppenudel Nybegynder
18. august 2010 - 11:32 #3
Hej, Tak - hvordan ser min LinkButton så ud?
Avatar billede jokkejensen Novice
18. august 2010 - 12:39 #4
onclick="GridView1_RowCommand" commandname="delete"
Avatar billede suppenudel Nybegynder
18. august 2010 - 12:49 #5
Ok fedt - jeg fandt ud af det. Lægger du et svar? :-)
Avatar billede jokkejensen Novice
18. august 2010 - 12:50 #6
Takker
Avatar billede suppenudel Nybegynder
18. august 2010 - 13:27 #7
Ved du hvordan jeg finder RowIndex'et for den valgte række her.
Jeg skal bruge det til at finde en Label i rækken og udskrive dens værdi:

Dim Label1 As New Label
Label1 = CType(GridNiv0.Rows( -- Her skal indexet angives -- ).Cells(0).FindControl("Label1"), Label)
Avatar billede jokkejensen Novice
18. august 2010 - 13:58 #8
e.CommandArgument

Skulle gerne returnere index ?

Mit første eksempel skulle gerne udskrive hvilket række id der er ramt.

/J
Avatar billede suppenudel Nybegynder
18. august 2010 - 15:36 #9
Hej, det ser ud som om e.CommandArgument i mit tilfælde returnerer ID'et, ikke RowIndex for selve Grid'et.

Jeg fandt frem til min label via:
If e.CommandName = "Rediger" Then
Dim rw As GridViewRow = DirectCast(DirectCast(e.CommandSource, ImageButton).NamingContainer, GridViewRow)
            Dim Label1 As New Label

            Label1 = rw.FindControl("Label1")
End If
Avatar billede suppenudel Nybegynder
21. august 2010 - 12:09 #10
Hej Jakob, lægger du et svar?
Avatar billede suppenudel Nybegynder
28. maj 2011 - 13:30 #11
Bliver nødt til at lukke..
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