C# 如何从datacolumn获取数据

C# 如何从datacolumn获取数据,c#,asp.net,.net,asp.net-mvc,ado.net,C#,Asp.net,.net,Asp.net Mvc,Ado.net,我正在对DataTables行的所有列执行foreach。我想从特定的列中获取数据,但不知道如何获取。参见代码 DataTable dt = mHandler.GetRegistrtationProgress(customer); int column = 1; foreach (DataColumn dc in dt.Columns) { string hutt = dc.ToString(); if (column == 11) { if (hutt.

我正在对DataTables行的所有列执行foreach。我想从特定的列中获取数据,但不知道如何获取。参见代码

DataTable dt = mHandler.GetRegistrtationProgress(customer);
int column = 1;
foreach (DataColumn dc in dt.Columns)
{
    string hutt = dc.ToString();
    if (column == 11)
    {
        if (hutt.Equals("1"))
        {
            addSpecificPicture();   
        }
    }
    else
    {
        if (hutt.Equals("1"))
        {
            addPicture(column);
        }
    }
    column++;
}

当我运行这段代码时,我只得到列的名称,但必须有一个好的方法来获取值?是否?

不清楚您想要实现什么,但是如果您只想为每列检索一行的值,则必须使用dc.ColumnName属性

DataTable dt = mHandler.GetRegistrtationProgress(customer);
foreach (DataColumn dc in dt.Columns)
{
     string hutt = dt.Rows[0][dc.ColumnName].ToString();
     ....
当然,您可以简单地使用索引器在行的列上循环

DataRow row = dt.Rows[0];
for(int i = 0; i < dt.Columns.Count; i++)
{
     string hutt = row[i].ToString();
DataRow row=dt.Rows[0];
对于(int i=0;i
DataRow对象中还有属性ItemArray的选项,其中数组的每个元素都包含相应的值

DataRow row = dt.Rows[0];
for(int i = 0; i < row.ItemArray.Length; i++)
{
     string hutt = row.ItemArray[i].ToString();
     ....
DataRow row=dt.Rows[0];
for(int i=0;i
您必须先检查行,然后检查列

foreach (DataRow dr in dt.Rows) {
    foreach(DataColumn dc in dt.Columns) {
        string hutt = dr[dc].ToString()
    }
}
或者像史蒂夫回答的那样,如果你只有一排


您还可以查看一下

您到底想做什么?从第一列获取值,并对每个值调用
addPictures
?不!:)我的数据表中有一行,我想遍历该行中的每一列,从该列获取值,并根据该值添加一张图片。然后您应该获取该行,然后在其项上运行foreach,而不是列。列不是单元格…好的,我认为可以在列上运行…将尝试这样做…您必须循环数据行进行解析,而不是数据列。这正是我试图实现的,从一行中获取值。我使用了您的第一个代码示例,它工作得非常出色!谢谢