根据DataTable中的列标题和行设置单元格项的值

时间:2014-12-16 14:46:48

标签: c# wpf datatable

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

enter image description here

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

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

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

提示:

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));
        }

答案 1 :(得分:0)

我循环遍历这样的行:

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);
                            }
                        }
                    }
                }