当前位置: 代码迷 >> ASP.NET >> 这样的显示,得如何写好
  详细解决方案

这样的显示,得如何写好

热度:5525   发布时间:2013-02-25 00:00:00.0
这样的显示,得怎么写好?
数据存在三个表中。



姓名 区分 出发日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;            }             }
  相关解决方案