132 messaggi dal 22 marzo 2007
Ciao, vorrei cancellare una riga del gridview, non potendolo gestire dall'sqldatasource , lo vado a gestire direttamente nel codice vb..
il mio grid è questo :
<asp:GridView DataKeyNames="IdScheda" ID="grid_elenco_schede" runat="server" AllowPaging="true" AllowSorting="true" PageSize="4" >
<Columns >
<asp:HyperLinkField Text="ID Scheda" DataTextField="IDScheda" NavigateUrl="~/schede_manuale.aspx.vb" SortExpression="IDScheda" />
<asp:BoundField DataField="Nome" HeaderText="Nome Scheda" ReadOnly="true" SortExpression="nome" />
<asp:BoundField DataField="Descrizione" HeaderText="Descrizione Scheda" ReadOnly="true" SortExpression="descrizione" />
<asp:BoundField DataField="Peso" HeaderText="Peso Scheda" ReadOnly="true" SortExpression="Peso" />
<asp:CommandField SortExpression="idscheda" DeleteImageUrl="~/Image/delete.jpg" ButtonType="Image" ShowDeleteButton="true" />
</Columns>
</asp:GridView>

come potete vedere x ogni riga del grid c'è un pulsante di cancellazione.. poi nella sub dove intercetto l'evento, cioè :
[Protected Sub grid_elenco_schede_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles grid_elenco_schede.RowDeleting]
non riesco a prendere l'idscheda che ho messo nel DataKeyNames del grid.. come faccio a prendere l'idscheda selezionato nella sub?
Ciao e grazie
Alex
6 messaggi dal 12 dicembre 2007
Puoi utilizzare direttamente l'oggetto grid_elenco_schede

Ad esempio:

grid_elenco_schede.Rows(e.RowIndex).Cells(1).Text


accede al valore della colonna 1 (idscheda) della riga che si vuole cancellare.

--------
I can't think now... I'm working!
132 messaggi dal 22 marzo 2007
grazie, però rimane un piccolo problema.. non mi prende l'idscheda con grid_elenco_schede.Rows(e.RowIndex).Cells(1).Text, ma per farla prendere devo aggiungere un altro boundfield:
<asp:BoundField DataField="IdScheda" HeaderText="IdScheda" SortExpression="IdScheda" />

cosi lo prende, altrimenti non va a prendere la l'idscheda ke è nella datakeysname...
non so se mi sono spiegato
6 messaggi dal 12 dicembre 2007
Se vuoi accedere alle chiavi del gridview, utilizza la proprietà DataKeys delle gridview.

--------
I can't think now... I'm working!
132 messaggi dal 22 marzo 2007
IO FACCIO COSI: grid_elenco_schede.DataKeys MA NON PRENDE IL VALORE IDSCHEDA...COME FACCIO A PRENDERLO? NON LO PRENDE NEMMENO FACENDO : grid_elenco_schede.DataKeys.Item(0)
GRAZIE
per contesia non usare i caratteri maiuscoli, equivale ad urlare...

comunque ricevi qualche eccezione? sei sicuro che l'event handler sia eseguito?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
6 messaggi dal 12 dicembre 2007
Ok, il codice per accedere ai valori delle chiavi per la riga che stai per cancellare è:

grid_elenco_schede.DataKeys(e.RowIndex).Values(grid_elenco_schede.DataKeyNames(1))


per la prima chiave, 2 per la seconda e così via.

Se però hai solo una chiave puoi utilizzare la proprietà Value, così:

grid_elenco_schede.DataKeys(e.RowIndex).Value



--------
I can't think now... I'm working!
132 messaggi dal 22 marzo 2007
perfetto!!!!
ciao e grazie infinite
alex

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.