2009-11-30 2 views

risposta

31
DataRow row = ((DataRowView)DataGridViewRow.DataBoundItem).Row 

Supponendo che hai tenuti un normale DataTable.

MyTypedDataRow row = (MyTypedDataRow)((DataRowView)DataGridViewRow.DataBoundItem).Row 

Supponendo di aver associato un dato databile.

Vedere article on MSDN per ulteriori informazioni.

+0

Grazie. Su una domanda correlata; come posso digitare le mie righe? –

+0

Hai bisogno di leggere questo: http://msdn.microsoft.com/en-us/library/esbykkzb(VS.71).aspx. Tuttavia, consiglierei di ignorarli e passare a LINQ in SQL se non lo avete già fatto: http://msdn.microsoft.com/en-us/library/bb425822.aspx –

+1

Soluzione incantevole! funziona come un incantesimo, ho usato in questo modo: ((dgvAttached.SelectedCells [0] .OwningRow.DataBoundItem as DataRowView) .Row as DataRow) – MiBol

2

In un DataGridViewRow è una proprietà denominata DataBoundItem di tipo oggetto.

Questo conterrà un DataRowView (per la certezza si può controllare questo)

5
DataTable table = grdMyGrid.DataSource as DataTable; 
DataRow row = table.NewRow(); 
row = ((DataRowView)grdMyGrid.SelectedRows[0].DataBoundItem).Row;