Поскольку ds.Tables[0]
содержит DataTable
объект, вы можете использовать метод расширения DataRow.Field<T>()
, чтобы найти значения из указанного имени столбца, заменить значения на SetField()
, а затемперепривязать изменения к источнику данных сетки:
foreach (DataRow dr in ds.Tables[0].Rows)
{
string oldValue = dr.Field<string>("ColumnName");
// check if the column has value
if (!string.IsNullOrEmpty(oldValue))
{
dr.SetField("ColumnName", value.ToString());
}
else
{
// do something else
}
}
ds.Tables[0].AcceptChanges();
// rebind the data source here
Обратите внимание, что DataRow.Field<T>
приводит к приведению значения к типу, указанному параметром типа T
, поэтому в следующем условии if вместо проверки используется null
или пустая строкаDBNull.Value
.