У меня есть следующие два управления в моем кодеGridview сортировки не срабатывает в первый щелчок
GridView (для отображения данных) SqlDataSource (источник моего GridView)
Я хочу изменить GridView, но когда я изменяю sqlcommandstring в моем sqldatasource, в новом представлении сортировки таблицы datagrid не срабатывает при первом щелчке. См. Ниже для процесса изменения sqlcommandstring.
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (IsPostBack)
{ // Restore saved sqlcommand in page refresh, please see below
SqlDataSource1.SelectCommand = ViewState["MySQL"].ToString();
}
}
catch (Exception ex){}
}
protected void btn_SearchLibrary_Click(object sender, EventArgs e)
{
SqlDataSource1.SelectCommand = "SELECT * FROM Books WHERE id=1 OR id=2";
ViewState["MySQL"] = "SELECT * FROM Books WHERE id=1 OR id=2";
//Saves sqlcommand in viewstate, to restore it in page refresh.
}
Я попытался понять, но не мог понять вас, я добавил привязку данных в обработчик событий щелчка, но это не сработало, – HOY
Мой ответ может быть вне базы, поэтому я думаю, что мне нужно попросить разъяснения: Можете ли вы пройти через типичное использование для меня? Является ли это следующим: Страница загружается в первый раз с пустой сеткой; пользователь щелкает кнопкой SearchLibrary и сетью; пользователь щелкает заголовок столбца для сортировки сетки, но этот первый клик не обрабатывается; все последующие клики обрабатываются и сортируются правильно. Это точно? –
Вот как процесс: Страница загружается в первый раз, когда сетка имеет 3 элемента внутри, (потому что мой SqlDataSource1 -> Sqlcommandstring = SELECT * из книг), также сортировка работает okey, после того, как поиск щелкнул выше btn_SearchLibrary_Click пожаров и сетки теперь с двумя элементами, теперь сортировка работает не очень хорошо. (PS: Я использовал состояние View, чтобы сохранить строку команд одинаково все время, потому что, если я ее не использую, gridview возвращается к исходному состоянию с тремя элементами каждый раз, когда что-то щелкает). – HOY