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.
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