日期:2014-05-18  浏览次数:20492 次

这样的显示,得怎么写好?
数据存在三个表中。



姓名 区分 出发日1 出发日2 

  计划1 10/1 10/8 
candy 计划2 10/3 10/9 
  实际 10/1 10/9 




其中 candy 计划1 10/1 10/8 是表A中的内容 



计划2 10/3 10/9是表B中的内容 

实际 10/1 10/9 是表C中的内容 


三个表中的内容都有时就显示成上面的,candy占三行 


如果表B中还没有内容并且表C中有内容时,就显示 

姓名 区分 出发日1 出发日2 

  计划1 10/1 10/8 
candy  
  实际 10/1 10/9 


这时candy占两行 


如果表B中没有内容且C中也没有内容,就显示


 
姓名 区分 出发日1 出发日2 

candy 计划1 10/1 10/8 


candy只占一行 
   


------解决方案--------------------
如果用镶嵌gridview的话比较麻烦、、
我看了下别人写的代码 跟你给个思路吧

你先建个Datatable 这个DataTable有4列 然后你根据你的数据的 把值循环插入这个DataTable然后再绑定 gridview 
绑定以后 

C# code

public static void Gridview_RowSpan(System.Web.UI.WebControls.GridView gv)
        {
            //合并单元格
            for (int i = 0; i < gv.Rows.Count - 1; i++)
            {
                int colnum = 1;
                int j;
                for (j = i + 1; j < gv.Rows.Count; j++)
                {
                    if (gv.Rows[i].Cells[0].Text == gv.Rows[j].Cells[0].Text)
                    {
                        colnum++;
                        gv.Rows[i].Cells[0].RowSpan = colnum;
                       gv.Rows[j].Cells[0].Visible = false;
                    }
                    else
                        break;
                }
                i = j - 1;
            }     
        }