【问题标题】:Row and Column count of data grid in C#C#中数据网格的行数和列数
【发布时间】:2009-05-08 07:49:57
【问题描述】:

假设我有一个数据网格,我需要找到数据网格中的行数和列数。如何在 C# 中做到这一点?

【问题讨论】:

    标签: c# datagrid


    【解决方案1】:

    DataGrid.Items 属性返回一个 DataGridItemCollection,表示 DataGrid 中的 DataGridItems

    每个DataGridItem 代表呈现表中的一行。此外,DataGridItem 公开了一个代表编号的 Cells 属性。呈现的表格中的表格单元(换句话说,列)。

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

    【讨论】:

      【解决方案2】:

      DataGrids 代表实际的 DataItems。

      DataGrid dg = new DataGrid();
      
      dg.Items.Count; //Number of Items...i.e. Rows;
      dg.Items[0].Cells.Count; //Number of columns for that Items
      

      【讨论】:

      • +1 阅读我的想法!然而,这一次,我快了几秒钟! :P
      【解决方案3】:

      首先,回答你的问题:

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

      或者,如果您确定数据源的类型:

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

      其次,我要补充的是System.Windows.Forms.DataGrid 是一个显示控件控件,而不是一个记录容器。没有 DataGrid.Rows.Count 属性或类似的东西来找出列数。您需要做的是查看 DataGrid 后面的 DataSource 属性,在大多数情况下是 DataTable,然后从那里获取您需要的信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多