У меня есть следующий код, который, кажется, не работает. В функции Page_Load я заполняю DataSet и отображаю результаты в виде сетки.
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();
Тем не менее, в виде таблицы отображаются данные это изначально загружено, а не отфильтрованные данные. Единственное, о чем я могу думать, это то, что я не использую DataTable в функции Page_Load. Что еще мне не хватает?
Спасибо,
Адриан
Данные фильтра от Таблица данных и дисплей это в Gridview.
string category = ddlcat.SelectedItem.Value; // this can be any input by user
DataTable dt = filter_dt; //filter_dt is DataTable object, contains actual data, from there we will filter
DataView dataView = dt.DefaultView;
if (!string.IsNullOrEmpty(category))
{
dataView.RowFilter = "Category = '" + category + "'";
}
Gridview1.DataSource = dataView;
Gridview1.DataBind();
, Если сомнение, не стесняйтесь к , спрашивают .
Спасибо