2009-05-08 15 views

Respuesta

19

La propiedad DataGrid.Items devuelve DataGridItemCollection que representa el DataGridItems en el DataGrid.

Cada DataGridItem es representativo de una sola fila en la tabla representada. Además, el DataGridItem expone una propiedad Cells que representa el no. de tablecells (en otras palabras, las columnas) en la tabla representada.

int rowCount = myGrid.Items.Count; 

// Get the no. of columns in the first row. 
int colCount = myGrid.Items[0].Cells.Count; 
5

Las cuadrículas de datos representan elementos de datos reales.

DataGrid dg = new DataGrid(); 

dg.Items.Count; //Number of Items...i.e. Rows; 
dg.Items[0].Cells.Count; //Number of columns for that Items 
+0

+1 por leerme la mente! Esta vez, sin embargo, ¡fui unos segundos más rápido! : P – Cerebrus

+0

jaja. Salud, amigo :) –

4

En primer lugar, para responder a su pregunta:

DataGrid dataGrid = new DataGrid(); 
int rowCount = dataGrid.BindingContext[dataGrid.DataSource].Count; 

o, si se sabe con certeza el tipo de la fuente de datos:

int rowCount = ((DataTable)this.dataGrid.DataSource).Rows.Count; 
int columnCount = ((DataTable)this.dataGrid.DataSource).Columns.Count; 

((DataTable)this.dataGrid.DataSource).Columns.Count; 

En segundo lugar, lo que Quiero agregar es que un System.Windows.Forms.DataGrid es un control de widget de pantalla y no un contenedor para registros. No hay una propiedad DataGrid.Rows.Count o algo similar para averiguar el número de columnas. Lo que tiene que hacer es mirar detrás de DataGrid, en la propiedad DataSource, que en la mayoría de los casos es DataTable y tomar la información que necesita desde allí.

Cuestiones relacionadas