我们的asp.net WebForms应用程序正在使用表格适配器用于"强类型数据表"和数据行。在代码隐藏中,我发现我不能直接使用BLL类实例的返回值(例如我们的" Main_TblAdap.CostDataTable"),如同引用强类型数据行和列/字段一样内。
在事件和方法背后的代码中使用强类型数据表或数据行的正确方法是什么?
此外,我们希望能够引用特定的数据行或对数据表进行排序/过滤。
一个好的编码示例非常有用,它显示了(1)从强类型数据表中获取数据表中特定数据行中的引用值以及(2)如何排序的最佳方法/过滤强类型数据表。
答案 0 :(得分:0)
首先从表中创建一个DataView。您可以在初始化时自定义视图,也可以调用get default。
DataView dv = yourTable.DefaultView;
或者在创建引用指针时继续从表中过滤视图:
DataView custDV = new DataView(YourTable[yourTableName],
"VehicleID = 'xxx'", // Row filter
"VehicleID", // Sort
DataViewRowState.CurrentRows);
现在您可以对视图进行排序并按行状态进行过滤
dv.Sort();
view.RowStateFilter = DataViewRowState.Added |
DataViewRowState.ModifiedCurrent;
行。 您可以在DataView中与DataRowView IEnumerable进行交互。
foreach (DataRowView rowView in thisDataView)
{
// your code here
}
OR
foreach(DataRow r in dt.Rows)
{
// your code here
}
要查找表格中的行,请尝试:
var result = dt.AsEnumerable().Select(r => r["Id"] = 4);
if(result !=null)
{
int x = 0;
}
现在只需绑定到您的视图,如果添加行或更新它,视图也会更新。