56 messaggi dal 03 agosto 2005
Ciao a tutti,

sono nuovo alla programmazione con ASP.NET e sto riscontrando delle difficoltà nel recuperare i valori di una riga della gridview tramite un ButtonField.

Tramite postback dovrei recuperare il valore della colonna nascosta "id"

Immagino non sia una cosa complicata ma non riesco a capire come venirne fuori.
Ho provato a cercare in giro su internet ma non riesco a trovare una soluzione... :(


Qualcuno saprebbe darmi qualche dritta?

Questo è il codice della gridview:


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1" GridLines="None" ShowHeader="False" Width="280px">
<Columns>
<asp:BoundField DataField="id" HeaderText="id" InsertVisible="False"
ReadOnly="True" SortExpression="id" Visible="False" />
<asp:ButtonField DataTextField="cognome" HeaderText="cognome" Text="Pulsante" />
<asp:BoundField DataField="nome" HeaderText="nome" SortExpression="nome" />
<asp:BoundField DataField="interno" HeaderText="interno"
SortExpression="interno" />
</Columns>
</asp:GridView>


Grazie 1000 in anticipo per l'aiuto

Alex
Ciao, ti posto quello che uso io. La griglia si chiama dgr. Sulla griglia ci sono anche i bottoni per la navigazione sul DataTable che la alimenta e su ogni riga i bottoni per le operazioni sulla riga selezionata.

Per prima cosa intercetto se si tratta di movimento sul DataTable (avanti, indietro, primo, ultimo)
Poi intercetto la riga della griglia selezionata e prendo il valore della casella che mi interessa (nel mio caso la terza indice = 2)
Poi prendo anche il valore del bottone su cui e' stato cliccato (nel mio caso ce ne sono due (variazione e cancellazione).
Eseguo le operazioni in funzione del bottone cliccato.
Sperando di esserti stato aiuto

Alberto

Protected Sub dgr_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles dgr.RowCommand

'Intercetto il tipo di comando passato (PagiRuolo o tipo Aggiornamento)

Dim bottone As String

bottone = e.CommandName

'PagiRuolo

If bottone = "Page" Then
Select Case e.CommandArgument
Case "Next"
Me.dgr.PageIndex = Me.dgr.PageIndex + 1
Case "Prev"
Me.dgr.PageIndex = Me.dgr.PageIndex - 1
Case "First"
Me.dgr.PageIndex = 0
Case "Last"
Me.dgr.PageIndex = dtMieSubCategorie.Rows.Count - 10
Case Else
Me.txtMsg = "Bottone Page errato" & e.CommandArgument
End Select
Me.dgr.DataSource = dtMieSubCategorie
Me.dgr.DataBind()
Exit Sub
End If

'Aggiornamento (Variazione o Cancellazione)

Dim i As Integer = Convert.ToInt32(e.CommandArgument)

'intercetto la riga della griglia selezionata

Dim row As GridViewRow = Me.dgr.Rows(i)

'Prendo il valore della seconda casella della riga

wIdMieSub = Server.HtmlDecode(row.Cells(2).Text)

'Prendo il valore del bottone su cui e' stato cliccato

bottone = e.CommandName

Select Case bottone
Case "Varia"
'Azione per la variazione
Case "Cancella"
'Azione per la cancellazione
Case Else
Me.txtMsg.Text = "Bottone non previsto"

End Select

End Sub

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.