5
我有下面的代码似乎不工作。在Page_Load函数中,填充DataSet并在网格视图中显示结果。RowFilter在DataTable中显示在gridview中
newsCommand = new SqlCommand("SQL code here", dbConnection);
newsDataSet = new DataSet();
newsDataAdapter = new SqlDataAdapter(newsCommand);
newsDataAdapter.SelectCommand = newsCommand;
newsDataAdapter.Fill(newsDataSet, "Bulletins");
if (!Page.IsPostBack)
{
GridViewMain.DataSource = newsDataSet;
GridViewMain.DataBind();
}
我有一些链接,其调用此函数来过滤数据(yearID被作为参数传递):
DataTable newsTable = new DataTable();
newsTable = newsDataSet.Tables[0];
DataView dvData = new DataView(newsTable);
dvData.RowFilter = "Year > '" + yearID + "'";
GridViewMain.DataSource = dvData;
GridViewMain.DataBind();
然而gridview的显示它orignally加载的数据,并且不经过滤的数据。我能想到的唯一的事情就是我没有在Page_Load函数中使用DataTable。我还有什么遗漏?
感谢,
阿德里安
'DataTable newsTable = newsDataSet.Tables [0]',** please **。 – SLaks 2010-08-10 14:23:40
什么是'yearID'? – SLaks 2010-08-10 14:24:22
yearID是一个以年份值开始以过滤数据的参数,但我将其修改为完整日期。 我刚刚将函数中的代码更改为: newsDataSet.Tables [0] .DefaultView.RowFilter =“NewsDate2> '01/01/2010'”; GridViewMain.DataSource = newsDataSet.Tables [0] .DefaultView; GridViewMain.DataBind(); 但它仍然做同样的事情(不过滤数据)。 – 2010-08-10 14:38:57