C#VSTO数据集SetField

时间:2015-02-05 02:19:31

标签: c# datatable

我正在尝试创建一个函数来更改数据表中的值。请参阅下面的简化视图:

public static void Heading1(DataTable TOC, Excel.Worksheet sheet, Excel.Range cell)
{
       TOC.Rows[1].SetField<string>(5,cell.Value2.ToString());
}

但是C#返回错误:

  

System.Data.DataRow'没有名为'SetField'的适用方法但是   似乎有一个名称的扩展方法。扩展方法   无法动态调度。考虑投射动态   参数或调用扩展方法而不使用扩展方法   语法。

但是,如果我声明一个字符串并为其分配单元格值,它可以正常工作:

public static void Heading1(DataTable TOC, Excel.Worksheet sheet, Excel.Range cell)
{
       string s = cell.Value2;
       TOC.Rows[1].SetField<string>(5,s);
}

这周围有吗?

1 个答案:

答案 0 :(得分:0)

如果列索引为5

datatable.Rows[1][5] = "Blah";

请注意,如果您这样做,则需要在datable中包含 2条记录如果表格有一行并且您想要更改其中的值,则行索引应为0-&gt; datatable.Rows[0][5] = "Blah";