Link button su DG

mercoledì 25 gennaio 2006 - 20.07

Nicola Profilo | Senior Member

Ciao ho un link button sul mio DG .. per richiamare una sub che carica un'altro DG...

<asp:TemplateColumn>
<ItemTemplate><asp:LinkButton onclick="ListStazioniSessione" Text="<img src='../gif/icone/softicon.gif' border='0' alt='Gestione Stazioni Traffico per Sessione'>" Runat="Server" CommandName="StazGruppo" /></ItemTemplate>
</asp:TemplateColumn>

NELLA Sub ListStazioniSessione vorrei riuscire a prendere l'ID del record selezionato che il DatakeyField
del mio DG... come faccio?

vi ringrazio ciao Nicola

micto27 Profilo | Senior Member

Io farei così:

Sfruttando il Binding andrei a valorizzare la proprietà CommandArgument con il valore dell'Identificativo della riga
(La proprietà CommandName l'hai già valorizzata), a questo punto si tratta di gestire l'evento ItemCommand
del datagrid:

Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
Select Case e.CommandName
Case "StazGruppo"
'// e.CommandArgument contiene l'ID della riga sulla quale hai cliccato il linkbutton
Case "......"
End Select
End Sub


Un'altra possibilità, facendo a meno della proprietà CommandArgument, è quella di sfruttare la proprietà
DataSetIndex esposta dalla classe DataGridItem, tale proprietà ti fornisce l'indice della riga del DataSource
che ha fornito i dati per il DataBind (DataTable, DataView, ecc.).

Ciao, Michele

Nicola Profilo | Senior Member

OnItemCommand la uso gia per l'insert di un nuovo record nel DG.. ;-((
LA SECONDA POSSIBILITà?? che mi suggerivi ???

ti ringrazio ciao Nicola

micto27 Profilo | Senior Member

&gt;OnItemCommand la uso gia per l'insert di un nuovo record nel
&gt; DG.. ;-((

OnItemCommand lo usi già per il linkbutton in questione o per altro?

Vuoi postami il codice dell'evento ItemCommand?

Ciao

Nicola Profilo | Senior Member

per edit del dg...
inolter uso anche il ItemDataBound per il delte gli ho tutti...

ho fatto un link... che ricarco la pagina passando il parametro... ;-(
è veloce...

grazie ciao Nicola

micto27 Profilo | Senior Member

Tornando al problema iniziale:
mi sfugge perchè non puoi utilizzare ItemCommand per intercettare anche il click sul linkbutton

Ciao

Nicola Profilo | Senior Member

nello stesso DG USO:

OnItemCommand="dgGruppi_Insert"
OnDeleteCommand="dgGruppi_Delete"
OnItemDataBound="ItemDataBound" >


IL LINK BUTTON è:

<asp:TemplateColumn>
<ItemTemplate><asp:LinkButton Text="<img src='../gif/icone/softicon.gif' border='0'>" Runat="Server" CommandName="StazGruppo" /></ItemTemplate>
</asp:TemplateColumn>

QUINDI?? ti ringrazio scusami

micto27 Profilo | Senior Member

non c'è di che scusarsi, anzi scusami tu se non riesco a centrare la tua richiesta, provo a riformulare la proposta
basata su ItemCommand:

Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand

'--> e.item.DataSetIndex ti fornisce l'indice della riga del DataView / DataTable messo in Bind e quindi
' puoi risalire alla riga dati trattata dall'item del datagrid dove si è cliccato

Select Case e.CommandName
Case "StazGruppo" '---> Linkbutton1
call sub1
Case "InsertGruppo" '---> Linkbutton2
call sub2
Case "xxxxxxxxx" '---> Button1
call sub3
End Select
End Sub


Ciao


Nicola Profilo | Senior Member

perfetto! funziona! scusami avevo fatto un errorino....

adesso ho preso l'id del record.. con
DG_Gruppi.DataKeys( e.Item.ItemIndex )

se voglio prendere il valore string di una cella del record cliccato??


grazie
ciao Nicola

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