【问题标题】:how to read data from one column of datagridview如何从datagridview的一列中读取数据
【发布时间】:2013-02-20 10:35:08
【问题描述】:

我想从 datagridview 的一列中读取数据。我的 datagridview 包含许多列,但我想读取所有单元格,但只能从一列中读取。我使用此代码阅读了所有列:

foreach (DataGridViewColumn col in dataGridView1.Columns)
        col.Name.ToString();

但我想读取特定列中的所有单元格。

【问题讨论】:

  • foreach (var cell in col.Cells) 不行吗?
  • col 不包含单元格的定义。

标签: c# winforms datagridview


【解决方案1】:

试试这个

string data = string.Empty;
int indexOfYourColumn = 0;
foreach (DataGridViewRow row in dataGridView1.Rows)
   data = row.Cells[indexOfYourColumn].Value;

【讨论】:

  • @SumitGoyal:此代码遍历每一行,并从指定列中读取值,这就是您要求的...
  • @yogi 非常感谢
【解决方案2】:

也许这也有帮助。获取一个单元格:

string data = (string)DataGridView1[iCol, iRow].Value;

然后你可以简单地循环行和列。

Documentation.

【讨论】:

  • DataGridView1 不包含项的定义。
【解决方案3】:

试试这个

foreach (DataGridViewRow row in dataGridView1.Rows)
        {
            foreach (DataGridViewCell cell in row.Cells)
            {
                if (cell.ColumnIndex == 0) //Set your Column Index
                {
                //DO your Stuff here..
                }
            }
         }

或者其他方式

       foreach (DataGridViewColumn col in dataGridView1.Columns)
            {
                if (col.Name == "MyColName")
                {
               //DO your Stuff here..
                }
            }

【讨论】:

    【解决方案4】:

    获取点击单元格的值:

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            textBox1.Text = dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();
        }
    

    【讨论】:

      【解决方案5】:

      FOREACH 循环

      string data = string.Empty;
      string data = string.Empty;
      int indexOfYourColumn = 0;
      int indexOfYourColumn = 0;
      foreach (DataGridViewRow row in dataGridView1.Rows)
      foreach (DataGridViewRow row in dataGridView1.Rows)
         data = row.Cells[indexOfYourColumn].Value;
      

      FOR 循环

      using System.Collections;
      
      string data = string.Empty;
      int indexOfYourColumn = 0;
      
      IList list = dataGridView1.Rows;
      
      for (int i = 0; i < list.Count; i++)
      {
        DataGridViewRow row = (DataGridViewRow)list[i];
         data = row.Cells[indexOfYourColumn].Value;
        data = Convert.ToDecimal(row.Cells[indexOfYourColumn].Value);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-29
        • 1970-01-01
        • 2023-03-15
        • 2014-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多