我有一个DataSet,我希望能够根据用户进行的搜索选择Where Where Condition并将数据绑定回GridView。
DataRow[] result = mainData.Tables[0].Select("Last_Name like '%Knitter%'");
如何将此结果存储回DataSet并将其绑定到GridView,或者如何将DataRow结果绑定到GridView?
提前感谢您的帮助。
其实我觉得我明白了。我所要做的就是:
mainData.Tables[0].Select("Last_Name like '%Knitter%'").CopyToDataTable();
答案 0 :(得分:2)
其实我觉得我明白了。我所要做的就是:
mainData.Tables[0].Select("Last_Name like '%Knitter%'").CopyToDataTable();
答案 1 :(得分:1)
您可能想尝试:
DataView dv = mainData.Tables[0].DefaultView;
dv.RowFilter = "Last_Name like '%Knitter%'";
gridView.DataSource = dv;
gridView.DataBind();
答案 2 :(得分:1)
您应该Encapsulate the logic
位于中心位置,并且应该使用Extension methods
重复使用该部分。检查FilterDataTable
在DataTable Class
下直接使用的方式,而不继承它。
public static class GetData
{
public static DataTable FilterDataTable(this DataTable Dt, string str)
{
using (DataView Dv = new DataView(Dt))
{
Dv.RowFilter = str;
return Dv.ToTable();
}
}
}
using (DataTable dt = new DataTable())
{
using (DataColumn DC = new DataColumn())
{
DC.ColumnName = "Abc";
dt.Columns.Add(DC);
DataRow Dr = dt.NewRow();
Dr["Abc"] = "a";
dt.Rows.Add(Dr);
Dr = dt.NewRow();
Dr["Abc"] = "b";
dt.Rows.Add(Dr);
using (DataTable Result = dt.FilterDataTable("Abc = 'a'"))
{
}
}
}