Gridview

martedì 08 marzo 2011 - 18.26
Tag Elenco Tags  VB.NET  |  .NET 2.0  |  Visual Studio 2010

eterno Profilo | Newbie

Salve
ho in una gridview tre tasti di tipo commandfield "seleziona", ora nell'evento SelectedIndexChanged come faccio da codice a capire quale tasto ho cliccato?

Grazie

skraus Profilo | Junior Member

Devono necessariamente essere dei CommandField ? Non puoi usare dei TemplateField ?
Sk

eterno Profilo | Newbie

mmm hai qualche esempio da farmi vedere?

skraus Profilo | Junior Member

Dunque nella paina aspx avrai una GridView con 3 TemplateField. Il templateField ti permette di gestire per ogni colonna più Template, Item, Edit, Header, Footer ed Alternate. Per ognuno di questi puoi scegliere quale controllo/i sono + idonei o se ti occorre gestirli tutti.

Nell'esempio che ti riporto di seguito io ho gestito solo l'ItemTemplate all'interno del quale ho inserito un LinkButton per ogni field.

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Per ogni controllo LinkButton imposti la proprietà CommandName a Select (se tutti e 3 devono produrre la selezione) e su CommandArgument io ho impostato un valore numerico progressivo da 1 a 3 che nel codice (io uso c#) ti permetterà di capire su quale delle tre colonne l'utente ha fatto click.

Quindi nel code behind vai gestire l'evento RowCommand della GridView. Questo evento ha un parametro di tipo GridViewCommandEventArgs che ti permette di accedere sia alla proprietà CommandName che alla proprietà CommandArgument.

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Select") { switch (e.CommandArgument) { case 1: { //primo select break; } case 2: { //secondo select; break; } case 3: { //terzo select; break; } } } }

In VB l'alternativa allo switch è il SelectCase.

Spero di essere riuscito a farmi capire.

Ciao.
Sk

eterno Profilo | Newbie

Ottimo, grazie mille

skraus Profilo | Junior Member

Accetta la risposta così il post risulta chiuso.

Ciao e buon lavoro.
Sk
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5