Может кто-нибудь, пожалуйста, помогите мне.
Я динамически создал элементы управления на своей странице, которая состоит из GridView, DropDownList, TextBox и Button.
Я успешно извлек данные в элемент управления GridView, в котором затем включен атрибут подкачки. Сейчас я пытаюсь отфильтровать данные в соответствии с вводом, заданным пользователем через DropDownList и TextBox, запускаемые событием нажатия кнопки. Тем не менее, это не работает.
У меня есть следующий код:
В CreateChildControls:
Controls.Add(_searchTitle);
Controls.Add(_searchDDL);
Controls.Add(_searchTextBox);
Controls.Add(_searchBtn);
Controls.Add(new LiteralControl("<br /><br />"));
Controls.Add(_title);
Controls.Add(new LiteralControl("<br /><br />"));
SelectEmployees(_searchDDL, _searchTextBox, _grid, _empObj, _dt, _strConn);
EmployeesGrid(_grid, _IDColumn, _hyperlinkedColumn, _column, _title);
Controls.Add(_grid);
DesignGrid(_grid);
if(!Page.IsPostBack)
{
SearchArea(_searchTitle, _searchDDL, _searchTextBox, _searchBtn);
}
Метод SelectEmployees отвечает за запрос данных.
EmployeesGrid отображает запрос только в элемент управления GridView.
DesignGrid - это метод, который определяет стиль для сетки.
SearchArea определяет стиль для элементов управления поиском.
Следующий код вызывается при нажатии кнопки. Тем не менее, он ничего не делает:
private void FilterEmployees(DropDownList searchDDL, TextBox searchTextBox, GridView grid, DataTable dt)
{
string col = "";
if ((searchDDL.SelectedValue.Equals("First Name")) && (!searchTextBox.Text.Equals("")))
{
col = "FirstName = " + searchTextBox.Text;
}
else if ((searchDDL.SelectedValue.Equals("Last Name")) && (!searchTextBox.Text.Equals("")))
{
col = "LastName" + searchTextBox.Text;
}
else if ((searchDDL.SelectedValue.Equals("Department")) && (!searchTextBox.Text.Equals("")))
{
col = "Department" + searchTextBox.Text;
}
else if ((searchDDL.SelectedValue.Equals("ID Number")) && (!searchTextBox.Text.Equals("")))
{
col = "IDNumber" + searchTextBox.Text;
}
else
{
}
DataView view = new DataView(dt);
view.RowFilter = col;
grid.DataSource = view;
DesignGrid(grid);
}
Пожалуйста, помогите. Спасибо.