日期:2014-05-17  浏览次数:21754 次

困惑DataGridView单元格合并!
本帖最后由 zl194 于 2010-06-09 13:27:29 编辑
客户想要这样的一个表格效果。


可能效果不太明显,就是要分产品的显示明显记录和汇总情况,其中涉及到单元的合并,并且是分产品的单元合并(如其中哦你4x虽然是相同的值,但是并不进行合并,英文产品不同。)

请高手帮我看看用DataGridView能做吗,如果不能用什么做,最好能给我个例子程序,我用的是VS2005项目是在WinForm下的。哪位好心发到我邮箱:zl194@126.com谢谢大家。发邮件时给个您的ID,我会来给分结贴的。

万分感谢!!!!!!!!!!


------解决方案--------------------
datagridview
http://www.codeproject.com/info/search.aspx?artkw=datagridview&sbo=kw
------解决方案--------------------
不知道 LZ 用没用过 FARPOINT 控件,使用起来很方便!只要是EXCEL能做出来的表格,他全都能够将数据绑定到控件上
------解决方案--------------------
直接做到excel里比较简单。还有一个用报表的方式显示。
------解决方案--------------------
如果用第三方控件还是比较容易实现的。
------解决方案--------------------
DataGridView合并单元格
------解决方案--------------------
       学习...
------解决方案--------------------
用第三放控件吧!~
这样方便!不过我用过,都是老师给的
我也不会!~
------解决方案--------------------
这个中文的呀!!
http://www.cnblogs.com/peterzb/archive/2009/05/29/1491891.html


------解决方案--------------------
第三方控件。。。
------解决方案--------------------
困惑。。。6楼的头像让我很困惑
------解决方案--------------------
public static void MRows(GridView GridView1, int cellNum)
  {
  int i = 0, rowSpanNum = 1;
  while (i < GridView1.Rows.Count - 1)
  {
  GridViewRow gvr = GridView1.Rows[i];
  for (++i; i < GridView1.Rows.Count; i++)
  {
  GridViewRow gvrNext = GridView1.Rows[i];
  if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text)
  {
  gvrNext.Cells[cellNum].Visible = false;
  rowSpanNum++;
  }
  else
  {
  gvr.Cells[cellNum].RowSpan = rowSpanNum;
  rowSpanNum = 1;
  break;
  }  
  if (i == GridView1.Rows.Count - 1)
  {
  gvr.Cells[cellNum].RowSpan = rowSpanNum;
  }
  }
  }
  }  
  /// 根据条件列合并GridView列中相同的行   
  public static void MRows(GridView GridView1, int cellNum, int cellNum2)
  {
  int i = 0, rowSpanNum = 1;
  while (i < GridView1.Rows.Count - 1)
  {
  GridViewRow gvr = GridView1.Rows[i];
  for (++i; i < GridView1.Rows.Count; i++)
  {
  GridViewRow gvrNext = GridView1.Rows[i];
  if (gvr.Cells[cellNum].Text + gvr.Cells[cellNum2].Text == gvrNext.Cells[cellNum].Text + gvrNext.Cells[cellNum2].Text)