琢磨半天这表了,想实现没啥思路。1、表头包含 查询日期范围 和 上午 下午 晚上2、车辆信息 根据租车的开始时间和还车时间 和状态 填充相应的上午 下午 晚上的颜色
   

解决方案 »

  1.   

    最好把图片放到CSDN空间相册里,再把链接贴过来
      

  2.   

    因为你的列是动态变更,而且列头还是分两行的,个人还是推荐自己画table另外你表中那些白色的箭头(>就这种)还有红色的X图标什么的代表什么意思
      

  3.   

    最好自己组装TABLE内容
    实际上也就是几个循环套一下一辆车对应多条出租记录,要按时间排序后再处理,黑红直接用颜色就行了,开始结束用图片,有记录就将相应的图片放入到单元格内并将单元格背景色改一下。
    楼主不妨把表格先画出来,找找规律,一样的处理就用循环替代,应该就差不多能发现点苗头。
      

  4.   

    你在要显示的位置放一个Table服务器控件,宽度么就是100%(虽然你这个正常情况页面宽度是显示不下的),然后组建两个TableRow,row的cell是固定列数+天数差值(比如你图上就是24-10+1),
    前面的列到状态为止的cell都需要跨两行,后面的就是按天数差值循环并且跨三列  //第一行表头
    第二行开始就是循环天数差值*3
    然后下面到数据部分,根据读出来的数据(假设你读出的是DataTable,并且是已经处理过整合为一车只有一条相应记录的数据),就按照DataTable的行数再循环,然后后面就是根据结算状态填充背景颜色以及图片了
    思路就是这样子了
      

  5.   

    有点晕了  用AddDays+1循环 区间天数  谢谢大家 
      

  6.   

    TimeSpan ts = DtEnd - DtStart;
    int days = ts.Days;这样就得到差异的日数了,不过这应该是真正差异,而你是要包括头尾两天的,所以 days还要+1不用循环那么麻烦了
      

  7.   

    遍历就是这样写
    (for int i=0;i<days;i++)
    {
        DateTime dt = DtStart.AddDays(i);//这就是要显示出来的日期了
    }