Jul*_*ian 15
是的,这是可能的,即使没有循环!这可以通过Expression财产来完成.请记住,应该引用字符串值,否则它会将其视为另一个列名.1
这将使用字符串值设置列'col1' a:
preview.Columns["col1"].Expression = "'a'";
这将在'col1'中显示'col2'列的值:
preview.Columns["col1"].Expression = "col2";
Mar*_*ell 10
除非算上,否则不会foreach.无论如何,你需要循环.
如果您使用该DataTable版本,最快的方法是使用DataColumn访问者,即
var col = table.Columns["Foo"];
foreach(var row in table.Rows)
    row[col] = value;
作为替代方案:因为这可能与数据库有关,所以手动编写TSQL以适当地设置所有值(即在TSQL中使用合适的 where子句).
update [theTable]
set [theColumn] = theValue
where --TODO - something sensible
您是否考虑过删除并重新添加具有默认值的列?
dt.Columns.Remove("FilterText")
dt.Columns.Add(New DataColumn() With {.ColumnName = "FilterText",
                                      .DataType = GetType(String),
                                      .DefaultValue = "Jam and chips"})
(假设您的列名是 FilterText,并且您想将其设置为“果酱和薯条”)