• 把多级不确定的项目类别遍历出来(图文码并茂)


    我今天就是类似于这个效果图给遍历出来需求:是要把不确定的多级分类遍历成表格。并不是多复杂却花了我几乎三个钟头,搞得我纠结不已,感觉应该有更简单的方法,就抛砖引玉吧。

    别看下面的代码不是很多,这可是我旧的代码太多,我自己都搞不清了的情况下狠心都删了再重新做的。大概三个钟头才整出来的。

    1 <!--项目分类 -->
    2 <table>
    3 <%
    4 //得到第二级分类的分类名称集合
    5   var item1s = ZBProject.Models.DBHelp.GetItems("项目分类");
    6 //可能这里很奇怪,为什么定义了个无意义的item3sList呢,
    7 //其实是为了扩大更获取它的范围,比如你在一个foreach里定义了,出了那个foreach就获取不到了,而之所以给他个无意义的item3sList值
    8 //是因为此时尚且不知道item3s的值,var类型又必须给它赋值,所以如此。
    9   IList<string> item3sList = new List<string>();
    10 var item3s = item3sList;
    11 //遍历行
    12   foreach (var item1 in item1s)
    13 {
    14 %>
    15 <tr>
    16 <td>
    17 <%=item1 %>
    18 </td>
    19 <td>
    20 <%
    21 //得到第二级分类的分类名称集合
    22 var item2s = ZBProject.Models.DBHelp.GetItems(item1);
    23
    24 foreach (var item2 in item2s)
    25 {
    26 int item3sCount = 0;
    27 item3s = ZBProject.Models.DBHelp.GetItems(item2);
    28 if (item3s.Count == 0)
    29 {
    30 %>
    31 <input type="checkbox" name="ProjectType" value="<%=item2 %>" /><%=item2%>
    32 <%
    33 } //if结尾
    34 else
    35 {
    36 %>
    37 <table>
    38 <tr>
    39 <td>
    40 <%=item2 %>
    41 </td>
    42 <%foreach (var item3 in item3s) //遍历第三级分类集合
    43 {
    44 %>
    45 <td>
    46 <input type="checkbox" name="ProjectType" value="<%=item3 %>" /><%=item3%>
    47 </td>
    48 <%
    49 } //循环第三级分类结束
    50 %>
    51 </tr>
    52 </table>
    53 <%
    54
    55 } //循环二级分类下的第一个else结束
    56
    57 } //循环二级分类结束
    58 %>
    59 </td>
    60 </tr>
    61 <% } //循环第一级分类结束
    62 %>
    63 </table>

    再附上那个代码里用了多次的GetItems方法的代码。

    1 public static IList<string> GetItems(string typeName)
    2 {
    3
    4
    5 var item= from zBProType in db.ZBProType
    6 where zBProType.TypeParentId == (
    7 (from z in db.ZBProType
    8 where z.TypeName == typeName
    9 select z.ID).First())
    10 select zBProType.TypeName;
    11 return item.ToList();
    12
    13 }

    最后再展示一下更简单更真实的局部效果图吧。

    反思:为什么一个功能我花了三个钟头才整出来呢?如果是你们看到下面的效果图,你们的思路是什么呢?期待讨论,共同进步。。。

    ..
  • 相关阅读:
    linux virtualbox
    cboard安装
    test
    kafka安装
    OLAP解释
    php 连接数据库直接转成json格式
    hive学习
    mariadb修改密码
    mariadb anzhuang
    IDEA12 中写hql语句编译器莫名报错
  • 原文地址:https://www.cnblogs.com/lanyueer/p/1970197.html
Copyright © 2020-2023  润新知