2012-02-09 2 views
-1

다음 코드 단편을 사용하여 드롭 다운 메뉴 (마감일 또는 우선 순위)에서 선택된 sortOption을 사용하여 DataGridview를 정렬합니다.DataGridview의 사용자 지정 정렬

나는 기한 옵션이 잘 작동하고 있습니다. 그러나 우선 순위 옵션은 순간에 그것을 사전 순으로 정렬하는 것 같지만 우선 순위가 높은 행을 먼저 표시 한 다음 TaskTable (DataGridview)에서 중간, 다음으로 낮음을 표시합니다.

어떤 아이디어로 만드시겠습니까?

private void sortButton_Click(object sender, EventArgs e) 
    { 
     string sortOption; // selected sorting method 

      sortOption = sortComboBox.Text; 

      switch (sortOption) 
      { 
       case "Deadline": 
        TaskTable.Sort(TaskTable.Columns["Deadline"], 
        System.ComponentModel.ListSortDirection.Ascending); // sort by deadline, nearest first. 
        break; 
       case "Priority": 
        TaskTable.Sort(TaskTable.Columns["Priority"], 
        System.ComponentModel.ListSortDirection.Ascending); // sort by priority - high, medium, low 

        break; 
+0

DataGridView는 WPF가 아닌 winforms입니다. –

답변

1

1, 2, 3과 같은 각 유형에 대해 추가 행을 추가하고 해당 행 (숨겨진 행)을 사용하여 정렬 할 수 있습니다. 기계적으로 각 유형에 숫자를 할당하고 그 정수를 사용하여 정렬하십시오.

0

그래서 우선 순위 값은 '높음', '보통'및 '낮음'입니까? 이 경우 사용자가 '높음', '중간'등의 값을 줄이기 위해 해시 테이블, 새로운 구조 또는 이와 유사한 것을 정의해야하지만 올바르게 정렬되었는지 확인해야합니다 (사전 순으로, 즉 실제 16 진수에 따라 다름) 값).

높은 1 매체 2 낮은 3

추가 행이 작업도 수행 얻을 것이다,하지만 난 그게 최선의 선택이라고 생각하지 않습니다. 실제 값과 해당 키를 캡슐화해야합니다. 요구 사항이 변경되면 더 쉽게 일치시킬 수 있습니다.

0

이 정말 WPF 경우, 은 일반적으로 훨씬 쉽게 달성하지 종류의 DataGrid하지만 종류의 바인더 제본 데이터를 수행.

관련 문제