РЕДАКТИРОВАТЬ: Я обновил код на основе ваших комментариев.
Один из способов сделать это - установить для DropDownList значение AutoPostBack="true"
и обработать событие SelectedIndexChanged
,В этом примере элементы в вашем DropDownList должны соответствовать именам столбцов вашего GridView.Я использовал «ColumnA», «ColumnB» и «ColumnC»
<asp:DropDownList ID="DropDownList1" AutoPostBack="true" runat="server"
OnSelectedIndexChanged="myDDL_SelectedIndexChanged">
<asp:ListItem>ColumnA</asp:ListItem>
<asp:ListItem>ColumnB</asp:ListItem>
<asp:ListItem>ColumnC</asp:ListItem>
</asp:DropDownList>
Затем, в коде позади, вы можете установить «SortExpression» вашего GridView
и связать его с данными просто вызовите функцию сортировки на основе выбранного значения раскрывающегося списка:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
gridView1.Sort(DropDownList1.SelectedValue, SortDirection.Ascending);
}
Вы можете заменить SortDirection.Ascending
на SortDirection.Descending
.
Примечание. Этот ответ предполагаетчто значения в раскрывающемся списке являются именами столбцов / полей в вашем источнике данных.