Как отсортировать gridview, чтобы показать по определенному столбцу строку - PullRequest
2 голосов
/ 13 марта 2012

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

Столбцы таблицы:

Name | Age | Old device name
============================
John | 22  | KRT 20
Jon  | 21  | KSR 12
Jco  | 22  |

IХотелось бы узнать, как я могу составить выпадающий список, чтобы выбрать в виде сетки сортировку всех строк по старому имени устройства, поэтому я должен видеть в виде сетки только те строки, которые содержат старое имя устройства.

Я использую SqlDataSource и GridView в ASP.NET.

1 Ответ

2 голосов
/ 13 марта 2012

РЕДАКТИРОВАТЬ: Я обновил код на основе ваших комментариев.

Один из способов сделать это - установить для 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.

Примечание. Этот ответ предполагаетчто значения в раскрывающемся списке являются именами столбцов / полей в вашем источнике данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...