Вывод данных из DataTable отсортированное по столбцу - C#

Узнай цену своей работы

Формулировка задачи:

Привет всем! есть DataTable с данными, примерно такая табличка
Листинг программы
  1. 15 5 8 6 9 78
  2. 14 6 58 4 8 6
  3. 20 2 3 56 4 5
  4. ...
  5. 21 2 3 6 5 89
всю голову поломал уже, никак не могу вывести её в текстовый документ отсортированной по 2-му столбцу надо вот так примерно
Листинг программы
  1. 20 2 3 56 4 5
  2. 21 2 3 6 5 89
  3. 15 5 8 6 9 78
  4. ...
  5. 14 6 58 4 8 6
пробовал ставить счетчик при выводе, но никак не могу допереть как вывести все строки по порядку... может как нибуть можно данные отсортировать в самой DataTable(рыл в эту сторону, гугл непомог) подкинте идею, спасибо заранее
решил задачу цыклом в цыкле, со сбросом первого цыкла, выполняется долго, но работает
Листинг программы
  1. int i=0;
  2. int flag = 0;
  3. for(i = 0; i <Table.Rows.Count; i++)
  4. {
  5. if (flag == Convert.ToInt32(Table.Rows[ii][1]))
  6. {
  7. writer.Write();
  8. }
  9. if (ii == Table.Rows.Count - 1 && flag < 100)
  10. {
  11. flag++;
  12. ii = 0;
  13. }
  14. }
вышло как так, есть у кого идеи, сделать это проще и быстрее?

Решение задачи: «Вывод данных из DataTable отсортированное по столбцу»

textual
Листинг программы
  1. case 0:
  2.                             writer.Write(string.Format("//-----------------------------------------------------------------------------------{0}// Guard/NPC{1}//-----------------------------------------------------------------------------------{2}{3}{4}", Environment.NewLine, Environment.NewLine, Environment.NewLine, 0, Environment.NewLine));
  3.                             DataRow[] rows = TableGuardNPC.Select("", "Map");
  4.                             int n = -1;
  5.                             foreach (DataRow row in rows)           //из каждой строки таблицы
  6.                             {
  7.                                 string mapName = string.Empty;
  8.                                 getMobNameByID(row.ItemArray[0].ToString());
  9.                                 int map = (int)row.ItemArray[1];    // получаем id нужного нам коментария
  10.                                 if (n < map && n != map)
  11.                                 {
  12.                                     int count = 0;
  13.                                     foreach (Object obj in myAL)
  14.                                     {
  15.                                        
  16.                                         if (myAL[count].ToString().StartsWith(map.ToString()) == true)
  17.                                         {
  18.                                             mapName = myAL[count].ToString().Substring(myAL[count].ToString().IndexOf(" ", 0) + 1);
  19.                                             break;
  20.                                         }
  21.                                         else
  22.                                             count++;
  23.                                     }
  24.                                     n = (int)row.ItemArray[1];  // увеличиваем значение id для следующего коментария
  25.                                     writer.WriteLine("// " + mapName);  // выводим коментарий
  26.                                 }
  27.                                 string s = string.Join("\t", row.ItemArray); //формируем строку для вывода в файл
  28.                                 //s += "\t//" + nameMob;
  29.                                 writer.WriteLine(s); //и выводим строку в файл
  30.                             }
  31.                             writer.Write("end" + Environment.NewLine);
  32.                             break;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы