23 messaggi dal 04 settembre 2008
Ho una GridView che è bindata ad una tabella come segue:

ID | Name
1 | Pippo
2 | Pluto
3 | Paperino

La GridView ha il linkbutton "Elimina".

Come faccio ad ottenere l'ID del record che cancello quando clicco sul linkbutton?

Ho provato in questa maniera:

<CODE>
Dim row As GridViewRow = GridViewAnaGruppi.SelectedRow
Dim IDGet As Integer
IDGet = row.Cells(1).Text
</CODE>

ma ovviamente non va perchè la riga non è selezionata.

Come si fa a prendere l'ID del record che viene cancellato?

Grazie





cosi per esempio:

id = Convert.ToInt32(grvGestion.DataKeys[row.RowIndex].Values["ID"]);


Ci sono diversi modi,
Ciao
Modificato da maltra il 15 settembre 2008 17.58 -

Corso SEO
Libro SEO, SEM e Web Marketing
Siti Web Parma
Forex
23 messaggi dal 04 settembre 2008
Ciao Marco,

ho modificato così:


Dim row As GridViewRow = GridViewAnaGruppi.SelectedRow
Dim IDGet As Integer
IDGet = Convert.ToInt32(GridViewAnaGruppi.DataKeys(row.RowIndex).Values("IDGruppo"))



ma credo che il problema sia sempre lo stesso.

Se specifico ".SelectedRow" per ottenere l'ID la riga deve essere selezionata. Invece quando clicco sul CommandField "Elimina" la riga NON è selezionata!.

Ciao
hai il campo id nella tua tabella?hai impostato id come DataKeysName?
Fammi sapere ok?ciao

Corso SEO
Libro SEO, SEM e Web Marketing
Siti Web Parma
Forex
23 messaggi dal 04 settembre 2008
La proprietà DataKeyNames della GridView è "IDGruppo"
Allora devi semplicemente fare cosi

id = Convert.ToInt32(grvGestion.DataKeys[row.RowIndex].Values["IDGruppo"]);


metti dei breakpoint per vedere se id contiene esattamente il valore che vuoi.
Se hai fatto tutto correttamente funziona.

Altra soluzione:

dataGrid.SelectedRows[0].Cells["IDGruppo"].Value


Ciao

Corso SEO
Libro SEO, SEM e Web Marketing
Siti Web Parma
Forex
23 messaggi dal 04 settembre 2008
Marco,

forse non so spiegarmi bene.

in questa maniera:


        Dim row As GridViewRow = GridView2.SelectedRow
        ID = Convert.ToInt32(GridView2.DataKeys(row.RowIndex).Values("IDGruppo"))



funziona, ma solo se la riga da cancellare E' SELEZIONATA.

Qaundo invece clicco su "Elimina" la riga non è selezionata quindi .SelectedRow restituisce sempre NULL.

Dovrebbe esserci un'altra maniera...
438 messaggi dal 04 agosto 2002
Contributi
ciao,

devi utilizzare l'evento RowDeleting della tua GridView.
All'interno dell'evento:
e.Values(n) ti restituisce il valore della cella della riga che stai eliminando dove n è l'indice della colonna.
e.Keys(n) ti restituisce il valore della chiave impostata in DataKeyNames dove n è l'indice della chiave. Se la chiave è una sola e.Keys(0)
e.RowIndex ti restituisce l'indice della riga che stai eliminando.
e.Cancel annulla l'azione di delete.


vladi

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.
Community
Ultimi messaggi
UTENTI ONLINE
    In primo piano

    I più letti di oggi

    Media
    In evidenza
    MISC