.NET 2.0: Come faccio a sapere quale riga di un datagridview è stata s...

mercoledì 03 dicembre 2008 - 15.07

Sig. Travis Profilo | Junior Member

Salve ragazzi,

avrei bisogno di una dritta per avere come informazione l'indice o il numero di riga di un datagridview che è stata selezionata dall'utente; è riportabile sul datatable che ha popolato il datagridview vero?

Dal DataTable è più facile leggere le informazioni.

Grazie,
Ciao\G

Teech Profilo | Expert

Potrebbe non esserci corrispondenza fra l'indice del DataGridView e l'indice dei DataRow presenti nel DataTable: metti che hai ordinato/filtrato i dati non c'è più corrispondenza...
Per sapere quale riga è selezionata devi controllare la collection SelectedRows del DataGridView (potrebbero essere più di una)...
Per recuperare la riga del DataTable dipende da come hai fatto il Binding e quali strumenti hai usato: in ogni caso, a cosa ti serve sapere di quale riga del DataTable hai effettuato la selezione?
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

Sig. Travis Profilo | Junior Member

Il DataTable lo popolo tramite il metodo "Fill" di un DataAdapter, dopodochè trasferisco pari, pari i dati nel DataGridView; la corrispondenza dovrebbe essere assicurata poichè l'ordinamento viene fatto a priori tramite comando SQL.

I dati che leggo dovranno costituire la base di partenza per la composizione di query i cui dati dovranno popolare oggetti di una form.

Grazie per l'interessamento,
Ciao\G

Teech Profilo | Expert

Intendevo il Bindig del DataTable sul DataGridView...
Poniamo che hai usato il DataSource del DataGridView per popolarla puoi recuperare i dati nel seguente modo:
Dim r as DataRow = DataGridView.SelectedRows(0).DataBoundItem
Attenzione ai cast che non l'ho provato...

In questo caso prende il primo elemento delle righe selezionate e ti restituisce l'oggetto del Binding. Per questo motivo non ti deve interessare l'indice del DataRow all'interno del DataTable...

--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

Sig. Travis Profilo | Junior Member

Grazie, ho risolto con la creazione di un datatablereader ed un ciclo di lettura, però il tuo metodo mi sembra più veloce e semplice e adesso lo testo.


Ciao\G
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