RowFilter в DataTable для отображения в виде сетки

У меня есть следующий код, который, кажется, не работает. В функции 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. Что еще мне не хватает?

Спасибо,

Адриан

5
задан Chris Catignani 12 December 2019 в 07:20
поделиться

1 ответ

Данные фильтра от Таблица данных и дисплей это в 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();

, Если сомнение, не стесняйтесь к , спрашивают .

Спасибо

0
ответ дан 14 December 2019 в 08:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: