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

C# 根据DataTable中的列标题和行设置单元格项的值,c#,wpf,datatable,C#,Wpf,Datatable,我有一个绑定到WPF datagrid的DataTable,在这里我创建了列并创建了一组行,第一列在每行中填充了默认值。它看起来像这张桌子: 因此,我有Size列及其所有值和每列的标题。现在,我需要将收集的数据输入到DataTable中,但不使用列和行的索引,我需要使用行和列的标题查找单元格项。以下是我所拥有的: heatMapTbl.Rows['2000000']['BOA'] = statVal; 有什么建议吗?提示: DataTable table = new DataTable()

我有一个绑定到WPF datagrid的DataTable,在这里我创建了列并创建了一组行,第一列在每行中填充了默认值。它看起来像这张桌子:

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

 heatMapTbl.Rows['2000000']['BOA'] = statVal;
有什么建议吗?

提示:

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));
        }
DataTable=newdatatable();
var myColumn=table.Columns.Cast().SingleOrDefault(col=>col.ColumnName==“myColumnName”);
if(myColumn!=null)
{
//只是一些吵闹
var tableRow=table.AsEnumerable().First();
var myData=tableRow.Field(myColumn);
//或者,如果上述方法不起作用
myData=tableRow.Field(table.Columns.IndexOf(myColumn));
}

我像这样在行中循环:

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