0
我正在用C#在asp.net中构建一个网站。ASP.net DataView - 不能应用过滤器
我想要把一个数据视图,所以我可以过滤一个数据集,然后我回到一个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"];
}
}
谁知道我做错了吗?
你是什么意思?'我看不到你在哪里调用你的方法来过滤。'?我正在尝试过滤数据集'ds'。谢谢回复! – Arcade 2012-03-20 20:44:23
我没有看到对FilterByFk方法的调用,但这可能是您故意忽略的内容,但无论值的数据类型如何,引号都是必需的。 – Justin 2012-03-20 20:45:38
啊是的,我在我的aspx页面中使用objectdatasource调用该方法。然后我将它链接到一个gridview。 – Arcade 2012-03-20 20:48:52