如何从datacolumn获取数据

本文关键字:获取 数据 datacolumn | 更新日期: 2023-09-27 17:57:31

我正在对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++;
}

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

如何从datacolumn获取数据

不清楚您想要实现什么,但如果您想为每列检索仅一行的值,则必须使用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对象中还有属性ItemArray的选项,其中数组的每个元素都包含相应的值

DataRow row = dt.Rows[0];
for(int i = 0; i < row.ItemArray.Length; i++)
{
     string hutt = row.ItemArray[i].ToString();
     ....

您必须先遍历行,然后再遍历列。

foreach (DataRow dr in dt.Rows) {
    foreach(DataColumn dc in dt.Columns) {
        string hutt = dr[dc].ToString()
    }
}

或者像Steve回答的那样,如果你只有一排。

您也可以在这里查看