Asp.net 如何使用;“强类型数据表”;(或“行”)在WebForms代码隐藏中?
我们的asp.net WebForms应用程序正在为“强类型数据表”和数据行使用表适配器。在后面的代码中,我发现我无法直接从BLL类实例(例如我们的“Main_TblAdap.CostDataTable”)使用返回值,因为它引用了其中的强类型数据行和列/字段 在代码隐藏事件和方法中,使用强类型数据表或数据行的正确方法是什么 此外,我们希望能够引用特定的数据行或对数据表进行排序/筛选Asp.net 如何使用;“强类型数据表”;(或“行”)在WebForms代码隐藏中?,asp.net,webforms,strongly-typed-dataset,Asp.net,Webforms,Strongly Typed Dataset,我们的asp.net WebForms应用程序正在为“强类型数据表”和数据行使用表适配器。在后面的代码中,我发现我无法直接从BLL类实例(例如我们的“Main_TblAdap.CostDataTable”)使用返回值,因为它引用了其中的强类型数据行和列/字段 在代码隐藏事件和方法中,使用强类型数据表或数据行的正确方法是什么 此外,我们希望能够引用特定的数据行或对数据表进行排序/筛选 一个好的编码示例将非常有助于展示以下最佳方法:(1)从强类型数据表中获取数据,以引用数据表中特定数据行中的值;(2
一个好的编码示例将非常有助于展示以下最佳方法:(1)从强类型数据表中获取数据,以引用数据表中特定数据行中的值;(2)如何对强类型数据表进行排序/筛选。首先从该表创建数据视图。您可以在初始化时自定义视图,也可以调用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
}
或
要查找表中的行,请尝试:
var result = dt.AsEnumerable().Select(r => r["Id"] = 4);
if(result !=null)
{
int x = 0;
}
现在只需绑定到视图,如果添加或更新行,视图也会更新 谢谢你的回复。谢谢你的回复。然而,我没有看到变量和示例之间的关系。例如:对于排序,什么是“视图”;是“dv”吗?如果不是,什么是“视图”?我不确定过滤或排序的是什么?如果我想按“VehicleID=555”进行过滤,该怎么办?此外,在“//your code here”中,字段的强类型是否与“r.InitalDate”中的强类型相同?字段是如何引用的?在最后一个示例中,“dt”是什么强类型表“yourTable”?或者是什么?谢谢。您正在使用表创建指针dv:DataView dv=yourTable.DefaultView;一旦有了dv引用,就可以使用dv.Sort()与它交互进行排序;它有一些重载。您还可以更新数据表行,视图将反映这一点。再次感谢您的回复。你已经澄清了我之前的一些问题。我剩下的一个问题是:在示例的ROWS部分中,如何在循环中引用“rowView”或“r”变量的特定字段?我这样做是为了确定是否可以从行变量中引用字段“VehicleYear”,例如if(rowView.VehicleYear<2000){…}(这意味着强类型)。或者我必须将其引用为rowView[“VehicleYear”]?提前感谢。如果(rowView.VehicleYear<2000){…}您正在为这些特定的匹配绑定或执行和操作,结果会是什么?
var result = dt.AsEnumerable().Select(r => r["Id"] = 4);
if(result !=null)
{
int x = 0;
}