0

如果我有大约 303 个员工姓名的列表。名称是按顺序排列的,我想以相同的顺序垂直显示它们,至少两列。我想更进一步,将项目列为有序列表缩进如果有奇数个员工姓名,我希望它根据需要创建附加列。

样本数据:{#HR,Jim, Kelly, Micheal, #OPS, Janet, Karen, Mary, #IA, Jorge, Katie, #Budget, Sarah, Alex, Roger, Sam, #ESD, Tom, Fred, Jarold}

我希望将此信息显示为两列或更多列的有序列表,其中不以 # 开头的字段带有缩进。我希望我已经清楚地传达了我想要完成的事情。

Column A    | Column B   | Column C   |
-----------------------------------------

-#HR        | -#IA       | -#ESD 
  -Jim      |    -Jorge  |    -Tom
  -Kelly    |    -Katie  |    -Fred
  -Micheal  | -#Budget   |    -Jarold
-#OPS       |    -Sarah  |
  -Janet    |    -Alex   |
  -Karen    |    -Roger  |
  -Mary     |    -Sam    |
------------------------------------------
Column A    | Column B   | Column C   |

这是我到目前为止提出的代码。我得到水平结果而不是垂直结果。

    writer.Write("<center><table border='0'>");

    for (int j = 0; j < staffList.Count; j++)
    {
        if ((j % 5) == 0)
        {
            //Create initial table row and column
            writer.Write("<tr><td><li>" + staffList[j].ToString() + "</li></td>");
        }
        else
        {
            //create the rest of table rows and columns
            writer.Write("<tr><td><li>" + staffList[j].ToString() + "</li></td>");
        }
    }
    writer.Write("</ul></tr>");
    writer.Write("</table></center>");

    base.Render(writer);
}
4

2 回答 2

0

尝试使用DataGrid网络元素。您可以使用它的DataBind()方法将其与集合相关联,然后您可以使用该集合来存储数据表。

对于缩进,在我的脑海中,一种简单的方法可能就是

foreach(string v in MyCollection){
    if (v[0] != '#' && v[0] != "&")
        v = "&nbsp;&nbsp;&nbsp;&nbsp;" + v;
}

对于表中不以“#”开头或已经有空格的每个字符串,请在前面加上一些空格。

于 2013-08-29T19:29:22.873 回答
0

我能够制作一个通用表格,然后背负一个内置类来获得我想要的缩进。

于 2013-08-31T04:55:46.443 回答