Сортировка в dataview не происходит должным образом (C # 3.0) - PullRequest
0 голосов
/ 15 июня 2010

У меня есть следующее

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;

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

1 r1
1 r2   
...

2 r1
2 r2
...

3 r1
3 r2
......

Означает, что все 1 сначала, а затем 2и 3r

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

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

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

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

Спасибо

1 Ответ

1 голос
/ 15 июня 2010

Измените тип столбца 'col1' на int вместо строки.

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


-Edit

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

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

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

DataTable dResult = dv.ToTable();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...