Событие OnSorting не запускается в GridView

#c# #sorting #gridview #datatable

#c# #сортировка #просмотр сетки #datatable

Вопрос:

Я считываю данные из XML и показываю их в виде таблицы. Проблема в том, что сортировка не работает. Он даже не запускает метод grid3_Sorting, когда я нажимаю на какой-либо столбец, чтобы выполнить сортировку (я протестировал его, установив точку останова)

Это мой вид сетки и элемент управления кнопками.

 <asp:Button ID="submit" Text="Submit" runat="server" OnClick="submit_Click" />

<asp:GridView ID="grid3" runat="server" OnSorting="grid3_Sorting" AllowSorting="true"></asp:GridView>
  

Это исходный код.

 protected void submit_Click(object sender, EventArgs e)
{
    XmlReader xmlFile;
    xmlFile = XmlReader.Create("myxmlfile.xml", new XmlReaderSettings());
    DataSet ds = new DataSet();
    ds.ReadXml(xmlFile);

    grid3.DataSource = ds.Tables["MyTABLE"];
    grid3.DataBind();
}

protected void grid3_Sorting(object sender, GridViewSortEventArgs e)
{
    DataTable dataTable = grid3.DataSource as DataTable;
    if (dataTable != null)
    {
         DataView dataView = new DataView(dataTable);
         dataView.Sort = e.SortExpression;

         grid3.DataSource = dataView;
         grid3.DataBind();
     }
}
  

Что я делаю не так?

Ответ №1:

Исправлено путем изменения идентификатора кнопки отправки с «submit» на «sub»