wpf GridControl控件 合并单元格后,点击合并的单元格,会出现这种情况

msm610 2020-03-17 09:46:13

合并的单元格,变成3个单元格了 ,付合并代码如下:
/// <summary>
/// 用于单元格合并
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TableView_CellMerge(object sender, DevExpress.Xpf.Grid.CellMergeEventArgs e)
{
int rowHandle1 = e.RowHandle1;
int rowHandle2 = e.RowHandle2;
List<patient_item> list = gridControl_name.ItemsSource as List<patient_item>;
string id1 = list[rowHandle1].id;
string id2 = list[rowHandle2].id;

if (id1 != id2)//如果两行的id不同,那么相同的值不需要合并
{
e.Merge = false; //值相同的2个单元格是否要合并在一起
e.Handled = true; //合并单元格是否已经处理过,无需再次进行省缺处理

}
}
...全文
1319 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
不争 2020-06-12
  • 打赏
  • 举报
回复
引用 2 楼 不争 的回复:
给你一段我当初写过的合并吧。 我用的是DEV的 控件

看到了,你用的也是DEV 的 就好说了。
private void bandedGridView1_CellMerge ( object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e )
{
if (e.RowHandle1 == bandedGridView1.RowCount)
{
return;
}

int rowHandle1 = e.RowHandle1;
int rowHandle2 = e.RowHandle2;
string strValue1 = bandedGridView1.GetDataRow ( rowHandle1 )["ITEM_ID"].ToString (); //获取分数列值
string strValue2 = bandedGridView1.GetDataRow ( rowHandle2 )["ITEM_ID"].ToString ();



if (strValue1 != strValue2)
{
e.Merge = false; //值相同的2个单元格是否要合并在一起
e.Handled = true; //合并单元格是否已经处理过,无需再次进行省缺处理
}
else
{
if (!e.Column.FieldName.Equals ( "EstimatedNum" ) && !e.Column.FieldName.Equals ( "ProjectTask" ) && !e.Column.FieldName.Equals ( "GroupUser" ) && !e.Column.FieldName.Equals ( "ClientName" )) //只对分数这一列进行合并,其他列一律不合并
{
e.Merge = false; //值相同的2个单元格是否要合并在一起
e.Handled = true; //合并单元格的操作是否已经处理过,不再需要进行省缺处理
}
}
不争 2020-06-12
  • 打赏
  • 举报
回复
给你一段我当初写过的合并吧。 我用的是DEV的 控件
杭州暖阳 2020-03-29
  • 打赏
  • 举报
回复
获取两行,获取资源,从资源看着两行的id,如果id不同则不合并。否则要合并,这最后一个否则要合并的逻辑是不是没写。

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧