Может кто-то, пожалуйста, помогите мне. У меня есть динамически созданные элементы управления на моей странице, которая состоит из GridView, DropDownList, TextBox и Button.GridView с включенным пейджингом не фильтруется на основе ввода других элементов управления (DropDownList, TextBox)
Я успешно извлек данные в элемент управления 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);
}
Пожалуйста, помогите. Благодарю.
Почему вы добавляете эти элементы управления динамически? Это станет источником большой боли. –
Я помещаю его в веб-страницу для SharePoint. – janejanejane