我試着去多列,而不使用使用DataGridSortingEvent
與這些代碼shift鍵排序:DataGrid的各種
private void dataGridPayables_Sorting(object sender, DataGridSortingEventArgs e)
{
if (e.Column.SortDirection == null)
e.Column.SortDirection = ListSortDirection.Descending;
ListSortDirection sort_direction = (ListSortDirection)e.Column.SortDirection;
dataGridPayables.Items.SortDescriptions.Clear();
dataGridPayables.Items.SortDescriptions.Add
(new SortDescription(e.Column.SortMemberPath, sort_direction));
dataGridPayables.Items.SortDescriptions.Add
(new SortDescription("total_amount", sort_direction));
dataGridPayables.Items.SortDescriptions.Add
(new SortDescription("payment_actual", sort_direction));
dataGridPayables.Items.SortDescriptions.Add
(new SortDescription("status", sort_direction));
e.Column.SortDirection = sort_direction;
dataGridPayables.Items.Refresh();
MessageBox.Show("SORT " + e.Column.SortMemberPath + " " + sort_direction.ToString());
}
我發現在DataGrid與上面的代碼進行排序,但它留下的時候該方法,C#只對選中的列進行排序並丟失多重排序功能。
請幫
你有沒有在你的排序活動結束嘗試e.Handled = 「真」? – Nitesh
謝謝!儘管我已經在昨天使用過這個工作。但我不知道爲什麼需要這樣做。你知道爲什麼嗎? –
請檢查我的答案。 – Nitesh