Вывод данных из DataTable отсортированное по столбцу - C#
Формулировка задачи:
Привет всем!
есть DataTable с данными, примерно такая табличка
всю голову поломал уже, никак не могу вывести её в текстовый документ отсортированной по 2-му столбцу
надо вот так примерно
пробовал ставить счетчик при выводе, но никак не могу допереть как вывести все строки по порядку...
может как нибуть можно данные отсортировать в самой DataTable(рыл в эту сторону, гугл непомог)
подкинте идею, спасибо заранее
вышло как так, есть у кого идеи, сделать это проще и быстрее?
Листинг программы
- 15 5 8 6 9 78
- 14 6 58 4 8 6
- 20 2 3 56 4 5
- ...
- 21 2 3 6 5 89
Листинг программы
- 20 2 3 56 4 5
- 21 2 3 6 5 89
- 15 5 8 6 9 78
- ...
- 14 6 58 4 8 6
решил задачу цыклом в цыкле, со сбросом первого цыкла, выполняется долго, но работает
Листинг программы
- int i=0;
- int flag = 0;
- for(i = 0; i <Table.Rows.Count; i++)
- {
- if (flag == Convert.ToInt32(Table.Rows[ii][1]))
- {
- writer.Write();
- }
- if (ii == Table.Rows.Count - 1 && flag < 100)
- {
- flag++;
- ii = 0;
- }
- }
Решение задачи: «Вывод данных из DataTable отсортированное по столбцу»
textual
Листинг программы
- case 0:
- writer.Write(string.Format("//-----------------------------------------------------------------------------------{0}// Guard/NPC{1}//-----------------------------------------------------------------------------------{2}{3}{4}", Environment.NewLine, Environment.NewLine, Environment.NewLine, 0, Environment.NewLine));
- DataRow[] rows = TableGuardNPC.Select("", "Map");
- int n = -1;
- foreach (DataRow row in rows) //из каждой строки таблицы
- {
- string mapName = string.Empty;
- getMobNameByID(row.ItemArray[0].ToString());
- int map = (int)row.ItemArray[1]; // получаем id нужного нам коментария
- if (n < map && n != map)
- {
- int count = 0;
- foreach (Object obj in myAL)
- {
- if (myAL[count].ToString().StartsWith(map.ToString()) == true)
- {
- mapName = myAL[count].ToString().Substring(myAL[count].ToString().IndexOf(" ", 0) + 1);
- break;
- }
- else
- count++;
- }
- n = (int)row.ItemArray[1]; // увеличиваем значение id для следующего коментария
- writer.WriteLine("// " + mapName); // выводим коментарий
- }
- string s = string.Join("\t", row.ItemArray); //формируем строку для вывода в файл
- //s += "\t//" + nameMob;
- writer.WriteLine(s); //и выводим строку в файл
- }
- writer.Write("end" + Environment.NewLine);
- break;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д