首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

急按照上面的样式如何绑定

2013-03-12 
急,急,按照下面的样式怎么绑定啊如图,一个订单下面有一个编号,但是有1至4种人员分类呢,这个怎么绑定啊,下

急,急,按照下面的样式怎么绑定啊
急按照上面的样式如何绑定
如图,一个订单下面有一个编号,但是有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.net c#
[解决办法]
 前台:<td rowspan="<%#GetRowSpan((int)Eval("ID")) %>">
 
后台:
public int GetRowSpan(int ID)
{
return   查找ID相同的记录数
}
[解决办法]

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可以参考下

热点排行