Как запустить OnSelectedIndexChanged из GridView с использованием кода C #

1

У меня есть 2 сетки, grid1 и grid2.

grid2 будет заполняться в зависимости от того, какая строка нажата в grid1. Я сделал это путем связывания OnSelectedIndexChanged из grid1.

Но при загрузке страницы grid2 будет пуст, так как выбор строки не производится.
Поэтому я планировал grid1 выбор строки grid1 с использованием кода С#, чтобы обе сетки имели данные при загрузке страницы.

Я начал кодировать как.

            grid1.DataSource = versions.DefaultView;
            grid1.SelectedIndex = 0;
            grid1.DataBind();

Но это событие не стреляет. Может ли кто-нибудь помочь мне в решении этой проблемы?

Теги:
gridview

2 ответа

1
Лучший ответ

Вы можете просто вызвать метод программно.

grid1.DataSource = versions.DefaultView;
grid1.SelectedIndex = 0;
grid1.DataBind();

grid1_SelectedIndexChanged(grid1, new EventArgs());
1

Вам не нужно событие на Page_Load потому что вы уже знаете, какой должен быть выбран выбранный индекс первой сетки. Событие необходимо после взаимодействия пользователя со страницей. Просто DataBind() вторая сетка на Page_Load данные, соответствующие выбранному 0 индексу первой сетки, так же, как вы привязываете первую сетку.

if (!IsPostBack)
{
    grid1.DataSource = versions.DefaultView;
    grid1.SelectedIndex = 0;
    grid1.DataBind();
    DataBindGridByIndex(0);
}
else
{
    grid1.DataSource = versions.DefaultView;
    grid1.DataBind();
}

public void DataBindGridByIndex(int index)
{
    // Logic to databind second grid by selected index.
}
  • 0
    спасибо за ответ. Хотя об этом раньше. могу каким-либо образом уволить OnSelectionIndexChanged
  • 0
    @Robert_Junior Вы не можете при начальной загрузке. Для того, чтобы событие было запущено, необходимо запустить обратную передачу, а затем прочитать данные публикации и вызвать события. Однако вы можете вызвать обработчик событий из кода загрузки страницы.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню