如图,一个订单下面有一个编号,但是有1至4种人员分类呢,这个怎么绑定啊,下面是HTML代码:
<tr>
                                <td rowspan="2">
                                    2013001
                                </td>
                                <td>
                                    成年人
                                </td>
                                <td>
                                    1
                                </td>
                                <td>
                                    1000
                                </td>
                                <td>
                                    200
                                </td>
                                <td>
                                    100
                                </td>
                                <td>
                                    0
                                </td>
                                <td>
                                    1300
                                </td>
                                <td rowspan="2">
                                    <dl>
                                        <dd>
                                            减餐-50</dd>
                                        <dd>
                                            赔款-50</dd>
                                    </dl>
                                </td>
                                <td rowspan="2">
                                    2150
                                </td>
                                <td rowspan="2">
                                    杨
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    小孩
                                </td>
                                <td>
                                    1
                                </td>
                                <td>
                                    800
                                </td>
                                <td>
                                    100
                                </td>
                                <td>
                                    50
                                </td>
                                <td>
                                    0
                                </td>
                                <td>
                                    950
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    2013002
                                </td>
                                <td>
                                    成年人
                                </td>
                                <td>
                                    1
                                </td>
                                <td>
                                    2000
                                </td>
                                <td>
                                    0
                                </td>
                                <td>
                                    0
                                </td>
                                <td>
                                    0
                                </td>
                                <td>
                                    2000
                                </td>
                                <td>
                                    加餐+50
                                </td>
                                <td>
                                    2050
                                </td>
                                <td>
                                    杨
                                </td>
                            </tr>
注:每个订单下面的分类人员种类个数不确定repeater数据绑定样式asp.netc#

解决方案 »

  1.   

    这种比较复杂的东西 最好不要用控件方式来做建议LZ在后台拼接html的方式来显示  这个表格,因为比较好判断
      

  2.   

    <tr>
                                    <td rowspan="2">
                                        <%# Eval("ID") %>
                                    </td>
                                    <td>
                                        <%# (int)Eval("Type")==0 ? "成年人" : "小孩" %>                                </td>
                                    <td>
                                        <%#Eval("...")%>                                </td>
                                    <td>
                                        <%#Eval("...")%>
    >                                    </td>
                                   ...
                                </tr>
                              
      

  3.   

    我看是在编号相同2013001的情况下合并的行
    那你可以在追加html字符串的时候  
    你可以按照编号分组循环来添加字符串
      

  4.   

     前台:<td rowspan="<%#GetRowSpan((int)Eval("ID")) %>">
     
    后台:
    public int GetRowSpan(int ID)
    {
    return   查找ID相同的记录数
    }
      

  5.   


    class Info
        {
            public string code { get; set; }        public string name { get; set; }
        }    class Program
        {
            static void Main(string[] args)
            {            List<Info> list = new List<Info>{
                  new Info{ code="2013001", name="测试一"},
                  new Info{ code="2013002", name="测试二"},
                  new Info{ code="2013003", name="测试三"},
                  new Info{ code="2013001", name="测试四"},
                  new Info{ code="2013001", name="测试五"},
                  new Info{ code="2013002", name="测试六"},
                  new Info{ code="2013001", name="测试七"}
                };            Console.WriteLine(GetHtml(list));
                Console.Read();
               
            }        /// <summary>
            /// 获取html
            /// </summary>
            /// <param name="list"></param>
            /// <returns></returns>
            private static string GetHtml(List<Info> list)
            {
                StringBuilder sb = new StringBuilder();
                int index = 1;
                //保存第一个code
                string firstCode = list[0].code;
                //获取与第一个code相同的记录
                List<Info> sameList = list.FindAll(x => x.code == firstCode);          
                    foreach (Info info in sameList)
                    { 
                        sb.Append("<tr>");
                        if(index++==1)
                        {
                            //表示有相同的记录
                            if(sameList.Count>1)
                            {
                                sb.Append("<td colspan=\""+sameList.Count+"\">"+info.code+"</td>");
                            }else{
                                //表示就这么一条code的记录
                                sb.Append("<td>"+info.name+"</td>");
                            }
                        }
                        sb.Append("<td>"+info.name+"</td>");
                        sb.Append("</tr>\r\n");
                    }
        
                //移除掉与第一个Code相同的记录
                    list.RemoveAll(x => x.code == firstCode);
                if (list.Count > 0)
                {
                    //递归取html
                    sb.Append(GetHtml(list));
                }            return sb.ToString();
            }        }
    中午写的一个简单的递归 LZ可以参考下
      

  6.   

    使用Repeater控件,然后在绑定事件里来处理合并列的问题。可以实现的。
      

  7.   


    public void test(){}<a href="#">dd</a>
    <h1>
    ddd
      

  8.   

    这个最好在后台用逻辑判断然后拼接html输出比较好