我正在使用C#在asp.net中建立一个网站。
我正在尝试使用数据视图,因此我可以过滤数据集,然后返回到gridView。
问题在于它忽略了过滤器并只显示整个数据集。
这是我的代码(留下一些不那么令人困惑的部分)
public class CData
{
private SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);
private DataSet ds= new DataSet();
private SqlDataAdapter da;
private DataView dv;
private SqlCommandBuilder cb;
public CData()
{
string sql = String.Format("SELECT * FROM table");
da = new SqlDataAdapter(sql, cn);
da.Fill(ds, "Table");
dv= new DataView(ds.Tables["Table"]);
cb = new SqlCommandBuilder(da);
}
public DataTable FilterByFk(Int32 FK)
{
dv.RowFilter = "FK = "+ FK;
dv.RowStateFilter = DataViewRowState.ModifiedCurrent;
da.Update(ds, "Table");
return ds.Tables["Table"];
}
}
谁知道我做错了什么?
答案 0 :(得分:1)
我看不到你在哪里调用你的方法来过滤。此外,要正确应用RowFilter,您需要指定列的名称,后跟运算符和要过滤的值。将值包装在单引号中。请尝试以下方法:
dv.RowFilter = String.Format("FK = '{0}'", FK);