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

这样的显示,得如何写好

2012-02-24 
这样的显示,得怎么写好?数据存在三个表中。姓名区分出发日1出发日2计划110/110/8candy计划210/310/9实际10/

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



姓名 区分 出发日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;            }             } 

热点排行