2010-06-15 1 views
0

У меня есть следующиеСортировка в DataView не происходит должным образом (C# 3.0)

DataTable dt = new DataTable(); 
      dt.Columns.Add("col1", typeof(string)); 
      dt.Columns.Add("col2", typeof(string)); 

      dt.Rows.Add("1", "r1"); 
      dt.Rows.Add("1", "r2"); 
      dt.Rows.Add("1", "r3"); 
      dt.Rows.Add("1", "r4"); 

      dt.Rows.Add("2", "r1"); 
      dt.Rows.Add("2", "r2"); 
      dt.Rows.Add("2", "r3"); 
      dt.Rows.Add("2", "r4"); 

      dt.Rows.Add("3", "r1"); 
      dt.Rows.Add("3", "r2"); 
      dt.Rows.Add("3", "r3"); 
      dt.Rows.Add("3", "r4"); 

      dt.Rows.Add("1", "r1"); 
      dt.Rows.Add("1", "r2"); 

      DataView dv = new DataView(dt); 
      dv.Sort = "col1"; 

      DataTable dResult = dv.Table; 

Я пытаюсь отсортировать DataTable с помощью DataView, так что результат будет

1 r1 
1 r2 
... 

2 r1 
2 r2 
... 

3 r1 
3 r2 
...... 

Означает все первые 1, а затем 2's и 3r's

Даже я пробовал с dt.DefaultView.Sort = "col1";, но не повезло.

Но этого не происходит. Только результат, который я могу просмотреть в dv.Sort, а не datatable (dResult)

Я использую C# 3.0.

Пожалуйста, помогите

Благодарности

ответ

1

Изменить тип столбца '' COL1 к Int вместо строки.

Затем введите эти значения как целые числа.


-Edit

Да, это не работает.

dv.Table возвращает исходную таблицу, а не отсортированные данные.

Используйте это, чтобы получить отсортированные данные.

DataTable dResult = dv.ToTable(); 
+0

извините .. не работает .., а также я не могу присвоить тип данных. Это всего лишь образец оригинала, где данные поступают из файла excel – Newbie

Смежные вопросы