Массив данных в элементе управления таблицей

#c# #html #asp.net #datatable #html-table

#c# #HTML #asp.net #datatable #html-таблица

Вопрос:

Допустим, у меня есть массив DataTable[] . В каждой таблице данных может быть до 5 строк. Каждая строка содержит 5 столбцов. Мне нужно отобразить содержимое DataTable в html-таблице размером 5 x 5, чтобы между ячейкой из DataTable и ячейкой html-таблицы существовало соотношение 1 к 1 (т. е. td).

Кто-нибудь может дать мне фрагмент кода о том, как этого добиться? Для этого необходимо выполнить цикл по длине массива данных. Итак, если есть 3 таблицы данных, необходимо создать 3 html-таблицы.

Пример моего Datatable

 Row 1 : Colors, Sizes, Length
Row 2 : Blue  ,   L  , 23
Row 3 : Green ,   M  , 24
Row 4 : Red   ,   S  , 25
Row 5 : Yellow,      , 26
  

Комментарии:

1. Для меня звучит как куча вложенных циклов. Вы написали какой-либо код?

Ответ №1:

хорошо, вот некоторый код. Я не компилировал его, поэтому могут быть опечатки… но я полагаю, что это поможет вам двигаться в правильном направлении. 3 вложенных цикла.

 StringBuilder html = new StringBuilder();

foreach(DataTable aTable in tableList)
{
   html.Append("<table>");

   foreach(DataRow row in aTable.rows)
   {
      html.Append("<tr>");

      foreach(string cell in row.Items)
      {
         html.Append("<td>");

         if (cell == null)
            html.Append("amp;nbsp;");
         else
            html.Append(cell);

         html.Append("</td>");
      }

      html.Append("</tr>");
   }

   html.Append("</table>");
}
  

Комментарии:

1. Похоже, это может сработать … я надеялся увидеть один цикл для no таблиц, поскольку DT имеют фиксированный размер, но я думаю, что небольшой размер не будет иметь большого значения…

2. Спасибо, Хоган, я вернулся к основам, как вы предложили, и получил необходимый мне контент… Для кого-либо еще, если вы захотите использовать этот код, вам придется внести пару незначительных исправлений: 1. используйте строку foreach (DataRow) в таблице. Строки) 2. проверьте наличие нулей в цикле foreach для ячеек строки.

3. У меня нет строки.элементы в —- foreach(строковая ячейка в строке. Элементы). .items не существует. В чем исправление?

4. @icelated : вы использовали нижний регистр i вместо верхнего I ( .items вместо .Items )?