Cómo obtener la vista de cuadrícula de datos
(1) La propiedad DataGridView.CurrentRow expone la fila actual de DataGridView, es decir, la fila que contiene la celda en la que el usuario hizo clic. Esta propiedad es un objeto DataGridViewRow.
(2) El objeto DataGridViewRow obtenido de esta manera contiene una propiedad DataBoundItem, que expone los datos subyacentes vinculados a DataGridView y es responsable de los datos que se muestran en la fila actual. Esta propiedad es de tipo objeto porque no hay ninguna restricción de que DataGridView deba estar vinculado a la base de datos. Sin embargo, cuando se vincula a un conjunto de datos, la propiedad es en realidad un objeto DataGridView, por lo que se puede convertir a este tipo.
(3) La clase DataGridView tiene una propiedad Row para acceder a filas de datos en el conjunto de datos. El tipo de esta propiedad es DataRow y, dado que la definición del conjunto de datos con tipo utilizada conoce el tipo de fila real, se puede convertir al tipo apropiado. El tipo aquí es FolkDBDataSet2.StoryRow.
(4) Al escribir la fila del conjunto de datos FolkDBDataSet2.StoryRow, puede utilizar el atributo Resumen para obtener el valor de la columna Resumen. Este enfoque es necesario para mantener la flexibilidad de DataGridView. Por ejemplo, si adopta el enfoque más simple, no podrá vincular DataGridView a otras fuentes de datos. Como ocurre con todo en .NET, si esto es un problema, crear una clase que herede DataGridView y proporcione la funcionalidad necesaria hace que esto sea más fácil de implementar, pero esta complejidad puede no ser necesaria.
DataBounditem: Es una propiedad del control que muestra los datos subyacentes. Al acceder a él, puede obtener los datos subyacentes del control. El tipo es Objeto;
DataRowView: Esta es una clase con su propiedad Fila. Puede obtener los datos de la fila actual;
Se puede ver que:
Cuando queremos obtener la fila seleccionada en el DataGridView. , podemos hacer esto:
[csharp] ¿ver copia simple imprimir?
for ( int i = 0; i < dataGridView.SelectedRows.Count; i++)
{
DataRow dr = (dataGridView.SelectedRows [i].DataBoundItem as DataRowView).Row
}