2013-07-29 111 views
0

我試着去多列,而不使用使用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#只對選中的列進行排序並丟失多重排序功能。

請幫

+0

你有沒有在你的排序活動結束嘗試e.Handled = 「真」? – Nitesh

+0

謝謝!儘管我已經在昨天使用過這個工作。但我不知道爲什麼需要這樣做。你知道爲什麼嗎? –

+0

請檢查我的答案。 – Nitesh

回答