【问题标题】:Set value for cell item based on column header and row in DataTable根据 DataTable 中的列标题和行设置单元格项的值
【发布时间】:2015-02-14 22:03:59
【问题描述】:

我有一个 DataTable 绑定到 WPF 数据网格,我在其中创建了列并创建了一组行数,第一列在每行中填充了默认值。它看起来像这张表:

所以我有 Size 列及其所有值以及每列的标题。现在我需要将收集到的数据输入到我的 DataTable 中,但不使用列和行的索引,我需要使用行和列的标题标题来查找单元格项目。这是我所拥有的:

 heatMapTbl.Rows['2000000']['BOA'] = statVal;

有什么建议吗?

【问题讨论】:

    标签: c# wpf datatable


    【解决方案1】:

    提示:

    DataTable table = new DataTable();
            var myColumn = table.Columns.Cast<DataColumn>().SingleOrDefault(col => col.ColumnName == "myColumnName");
            if (myColumn != null)
            {
                // just some roww
                var tableRow = table.AsEnumerable().First();
                var myData = tableRow.Field<string>(myColumn);
                // or if above does not work
                myData = tableRow.Field<string>(table.Columns.IndexOf(myColumn));
            }
    

    【讨论】:

      【解决方案2】:

      我这样遍历行:

      foreach (DataRow row in LiqTbl.Rows)
                      {
                          if (row.ItemArray[0].Equals(timezone))
                          {
                              foreach (DataColumn column in LiqTbl.Columns)
                              {
                                  if (column.ColumnName.Equals(lp))
                                  {
                                      //Write the value in the corresponding row
                                      row[column] = liq.ToString("N", CultureInfo.InvariantCulture);
                                  }
                              }
                          }
                      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-18
        • 2012-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多