Considerando che ho una griglia di dati, ho bisogno di trovare il numero di righe e di couli nella griglia di dati. Come posso farlo in C#?Conteggio righe e colonne della griglia di dati in C#
risposta
La proprietà DataGrid.Items
restituisce un DataGridItemCollection
che rappresenta il DataGridItems
nel DataGrid.
Ogni DataGridItem
è rappresentativo di una singola riga nella tabella di rendering. Inoltre, lo DataGridItem
espone una proprietà Cells
che rappresenta il n. di tablecell (in altre parole, le colonne) nella tabella di rendering.
int rowCount = myGrid.Items.Count;
// Get the no. of columns in the first row.
int colCount = myGrid.Items[0].Cells.Count;
I DataGrid rappresentano dati effettivi.
DataGrid dg = new DataGrid();
dg.Items.Count; //Number of Items...i.e. Rows;
dg.Items[0].Cells.Count; //Number of columns for that Items
Prima di tutto, per rispondere alla tua domanda:
DataGrid dataGrid = new DataGrid();
int rowCount = dataGrid.BindingContext[dataGrid.DataSource].Count;
o, se si sa per certo il tipo di DataSource:
int rowCount = ((DataTable)this.dataGrid.DataSource).Rows.Count;
int columnCount = ((DataTable)this.dataGrid.DataSource).Columns.Count;
((DataTable)this.dataGrid.DataSource).Columns.Count;
secondo luogo di tutti, quello che ho voglio aggiungere è che un System.Windows.Forms.DataGrid
è un controllo widget di visualizzazione, e non un contenitore per i record. Non esiste una proprietà DataGrid.Rows.Count
o qualcosa di simile per scoprire il numero di colonne. Quello che devi fare è guardare dietro il DataGrid, nella proprietà DataSource
, che nella maggior parte dei casi è un DataTable
e prendere le informazioni che ti servono da lì.
+1 per aver letto la mia mente! Questa volta, tuttavia, sono stato qualche secondo più veloce! : P – Cerebrus
haha. buon umore –