datatable从行中获取特定列

时间:2015-02-19 22:10:25

标签: c# datatable

我有以下内容:

//a datatable with some rows and columns lets say 5x5
var datatable = new DataTable(); 
var numberofrows = datatable.rows.count;

for (int i = 0; i < numberofrows; i++) {
 //for each row, get the 3rd column
 var cell = datatable.rows[i].???
}

如何获得每行的第3列?

4 个答案:

答案 0 :(得分:6)

第三栏

var cellValue = datatable.Rows[i][2];

更好,如果你知道列名,

var cellValue = datatable.Rows[i]["column_name"];

答案 1 :(得分:1)

如果表包含2列“Property”和“Value”。内容可以按如下方式插入

table.Columns.Add("Property", typeof(string));
table.Columns.Add("Value", typeof(string));    

table.Rows.Add("P1", "abc");
table.Rows.Add("P2", "xyz");

要检索特定列的内容

foreach (DataRow row in table.Rows)
    {
      if (row["Property"].ToString() == "P1")
         {
             var value = row["Value"].ToString();
          }
    }

答案 2 :(得分:1)

我们可以像这样读取特定的列值

foreach (DataTable table in ds.Tables)
                {
                    if (table.TableName == "Table1")
                    {

                        for (int j = 0; j < table.Rows.Count; j++)
                        {


                                 int a =  Convert.ToInt32( table.Rows[j].ItemArray[3]);
                                 int b = Convert.ToInt32(table.Rows[j].ItemArray[4]);




                        }
                    }


                }

答案 3 :(得分:-2)

您可以通过数据表进行迭代并获取每一行,这可以被认为是一个数组,因此您可以使用索引选择该特定行的每个元素(并且还可以使用列的名称而不是索引,即:行[&#34; column3 name&#34;])。

foreach(DataRow row in datatable)
{
    Console.WriteLine(row[2]);
}