问题描述
DataGridView行合并和列合并谁在例子?
解决方案
解决方案二:
什么样的合并结果?
解决方案三:
行合并,就是把DataGridview2没一行添加到DataGridView1中就是了,一个循环不就搞定了?列合并要麻烦点,先用.Columns.Add添加列,然后再修改行的值就是了。
解决方案四:
先写给你合并的代码ForiAsInteger=1ToDataGridView2.Rows.CountDimrAsDataGridViewRowr=DataGridView2.Rows(0)DataGridView2.Rows.Remove(r)DataGridView1.Rows.AddRange(r)Nexti
解决方案五:
上面是行合并,列合并,我试试看,==
解决方案六:
列合并的代码ForiAsInteger=1ToDataGridView2.Columns.CountDimcAsDataGridViewColumnc=DataGridView2.Columns(i-1)DataGridView1.Columns.Add(c.Name,c.HeaderText)ForjAsInteger=1ToDataGridView2.Rows.CountDataGridView1.Rows(j-1).Cells(DataGridView2.Columns.Count+i-1).Value=DataGridView2.Rows(j-1).Cells(i-1).ValueNextNext
解决方案七:
我測試你的行合并了,你的代碼不對啊!DataGridView2.Rows.Remove(r)測試通不過啊!
解决方案八:
如果你是2003有可能通不过,那你就一个单元一个单元添加,这是2005中测试通过的代码,合并行就是循环一次,添加一下就完了,自己写也很简单,而且合并列的代码稍微改一下就是合并行的了。
解决方案九:
像这样的图
解决方案十:
llsus我用VB2005測試你的代碼也是實現不了樓主的要求。
解决方案十一:
http://www.cnblogs.com/wxj1020/archive/2008/03/17/1109680.html樓主參考一下。
解决方案十二:
这个控件功能这么强就是不提供直接使用合并
解决方案十三:
列单元格合并.这里给出了具体的思路,你修改下估计能行了,行也是一样的道理,对多列就是作个循环privatevoiddataGridView1_CellPainting(objectsender,DataGridViewCellPaintingEventArgse){//对第1列相同单元格进行合并if(e.ColumnIndex==0&&e.RowIndex!=-1){using(BrushgridBrush=newSolidBrush(this.dataGridView1.GridColor),backColorBrush=newSolidBrush(e.CellStyle.BackColor)){using(PengridLinePen=newPen(gridBrush)){//清除单元格e.Graphics.FillRectangle(backColorBrush,e.CellBounds);//画Grid边线(仅画单元格的底边线和右边线)//如果下一行和当前行的数据不同,则在当前的单元格画一条底边线if(e.RowIndex<dataGridView1.Rows.Count-1&&dataGridView1.Rows[e.RowIndex+1].Cells[e.ColumnIndex].Value.ToString()!=e.Value.ToString())e.Graphics.DrawLine(gridLinePen,e.CellBounds.Left,e.CellBounds.Bottom-1,e.CellBounds.Right-1,e.CellBounds.Bottom-1);//画右边线e.Graphics.DrawLine(gridLinePen,e.CellBounds.Right-1,e.CellBounds.Top,e.CellBounds.Right-1,e.CellBounds.Bottom);//画(填写)单元格内容,相同的内容的单元格只填写第一个if(e.Value!=null){if(e.RowIndex>0&&dataGridView1.Rows[e.RowIndex-1].Cells[e.ColumnIndex].Value.ToString()==e.Value.ToString()){}else{e.Graphics.DrawString((String)e.Value,e.CellStyle.Font,Brushes.Black,e.CellBounds.X+2,e.CellBounds.Y+5,StringFormat.GenericDefault);}}e.Handled=true;}}}}
解决方案十四:
关注。
解决方案十五:
llsus楼主可否发个更详细一点代码.我试了无法达到你发的图片的效果.
解决方案:
關注
解决方案:
ForiAsInteger=1ToDataGridView2.Rows.CountDimrAsDataGridViewRowr=DataGridView2.Rows(0)DataGridView2.Rows.Remove(r)DataGridView1.Rows.AddRange(r)Nexti
解决方案:
引用14楼li_qiang_sc的回复:
llsus楼主可否发个更详细一点代码.我试了无法达到你发的图片的效果.
晕,我理解错你的意思了。
解决方案:
楼主说的我不会。