【问题标题】:DataTable Array onto a Table ControlDataTable Array 到表格控件上
【发布时间】:2011-12-24 23:35:55
【问题描述】:

假设我有一个DataTable[] 数组。在每个 DataTable 中最多有 5 行。每行有 5 列。我需要在 5 x 5 的 html 表格中显示 DataTable 的内容,以便 dataTable 中的单元格与 html 表格的单元格(即 td)之间存在 1 对 1 的关系。

谁能给我一段关于如何实现这一目标的代码?它需要遍历DataTable数组的长度。所以如果有3个DataTable,就需要创建3个html表。

我的数据表示例

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

【问题讨论】:

  • 对我来说听起来像是一堆嵌套循环。你写过代码吗?

标签: c# html asp.net datatable html-table


【解决方案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("&nbsp;");
         else
            html.Append(cell);

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

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

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

【讨论】:

  • 看起来这可以工作......我希望看到一个循环,因为 DT 是固定大小的,但我想小尺寸不会很重要......
  • 谢谢霍根,我按照你的建议回到了基础知识并得到了我需要的内容......如果你想使用这个代码,你必须做一些小的更正:1.使用foreach(aTable.Rows中的DataRow行)2.在foreach循环中检查该行单元格的空值。
  • 在 ---- foreach 中没有 row.items(row.Items 中的字符串单元格)。 .items 不存在。解决方法是什么?
  • @icelated : 你用小写的i 代替了大写的I.items 代替了.Items)?
猜你喜欢
  • 1970-01-01
  • 2010-10-30
  • 2011-10-02
  • 2012-01-17
  • 1970-01-01
  • 2015-01-30
  • 2014-02-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多