10

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

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

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

4

5 回答 5

23

尝试这个

string data = string.Empty;
int indexOfYourColumn = 0;
foreach (DataGridViewRow row in dataGridView1.Rows)
   data = row.Cells[indexOfYourColumn].Value;
于 2013-02-20T10:39:25.413 回答
19

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

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

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

文档

于 2013-02-20T10:46:39.490 回答
2

尝试这个

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..
                }
            }
于 2013-02-20T11:08:06.010 回答
0

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);
}
于 2020-06-27T14:19:15.703 回答
0

要获取单击的单元格的值:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        textBox1.Text = dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString();
    }
于 2016-07-12T15:56:55.993 回答