asp.net 运行DataRow时,可以获取列值但不能获取标题?

bksxznpy  于 2022-12-20  发布在  .NET
关注(0)|答案(4)|浏览(154)
DataTable currentAttribs = //return dataTable of results;

foreach (DataRow r in currentAttribs.Rows)
 {
    foreach (DataColumn column in r.ItemArray)
       {
         //run through dataRow and access header?????
         {
              tableRow = "<TR><TD>" + column[0].ToString() + "</TD></TR>";
              Literal lc = new Literal();
              lc.Text = tableRow;
              divFeatureInfo.Controls.Add(lc);
          }
       }
  }

返回列中的所有值,但似乎无法访问列标题的值
我可以看到头球正在穿过,但是我需要从外环进入吗?

    • 更新**

我可以从这里查看标题-r.Table.Columns.NonPublicMembers.List(); ..但是我如何访问每一个呢?难道不应该在r.itemArray中而不是currentAttribs.rows中完成吗

gmxoilav

gmxoilav1#

在列之间循环

r.Table.Columns.Item(i)
r.Table.Columns.Item(i).Caption
e4eetjau

e4eetjau2#

它可以通过使用DataRow示例的Table属性来实现。

foreach (DataColumn c in r.Table.Columns)  //loop through the columns. 
{
    MessageBox.Show(c.ColumnName);
}
pw136qt2

pw136qt23#

它可以用作

DataTable currentAttribs = //return dataTable of results;    
foreach (DataRow r in currentAttribs.Rows)
 {
    foreach (DataColumn column in currentAttribs.Columns)
       {
         //run through dataRow and access header?????
         {
              tableRow = "<TR><TD>" + column.ColumnName + "</TD></TR>";
              Literal lc = new Literal();
              lc.Text = tableRow;
              divFeatureInfo.Controls.Add(lc);
          }
       }
  }
neskvpey

neskvpey4#

这不是对您的特定问题的完美回答,但它回答了“如何将ColumnHeaders与DataRow的ItemArray值Map起来”这一问题本身。
对我来说,这是基本的解决方案。

private void UpdateButton_Click(object sender, EventArgs e)
        {
            DataRow[] modifiedRows = _dataTable.Select("", "", DataViewRowState.ModifiedCurrent);

            foreach (var row in modifiedRows)
            {
                for (var i = 0; i < row.Table.Columns.Count; i++)
                {
                    var ColumnName = row.Table.Columns[i].ColumnName;
                    var ColumnValue = row.ItemArray[i];
                }

                //... build objects now that we can map the property names and new values...

            }
        }

相关问题