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

迷惑DataGridView单元格合并

2013-02-03 
困惑DataGridView单元格合并!可能效果不太明显,就是要分产品的显示明显记录和汇总情况,其中涉及到单元的合

困惑DataGridView单元格合并!


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

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

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


[解决办法]
第三方控件。。。
[解决办法]
困惑。。。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)


  {
  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;
  }
  }
  }
  }  

   


[解决办法]
吴老师给的是gridveiw,webform!
[解决办法]
你参考这个吧!
迷惑DataGridView单元格合并

MergedDataGridView Control
[解决办法]
下载上面那个源代码,然后使用很简单,就是这样,这是vb.net的调用方式, c#稍微修改,就是语法问题:


' 在现有行后面添加一行
Dim rowPos As Integer = e.RowIndex + 1

Dim dv As DataView = Me.MergedDataGridView1.DataSource
Dim row As DataRow = dv.Table.NewRow()
dv.Table.Rows.InsertAt(row, rowPos)

' 得到合并后要显示的数据
Dim mergedRowText As New System.Text.StringBuilder
mergedRowText.AppendLine(Me.MergedDataGridView1("Description", e.RowIndex).Value.ToString)
mergedRowText.AppendLine(Me.MergedDataGridView1("Link", e.RowIndex).Value.ToString)

' 调用自定义datagridview的AddMergedRow方法,就可以了。
Me.MergedDataGridView1.AddMergedRow(rowPos, mergedRowText.ToString)

热点排行