项目场景:
项目场景:接上一篇笔记,在合并"选择"列后,无法进行勾选操作,单条数据可以正常勾选,而合并后的组无法进行勾选
上一条笔记链接:https://blog.csdn.net/lyr2390525715/article/details/133160584?spm=1001.2014.3001.5502
问题描述
- 在偶然进行全选操作后发现所有的选择框均已选中,包括已经合并的列,由此猜测可能是因为合并后点击勾选并没有把合并的整个组勾选上,所以导致勾选框不显示已勾选效果
全选效果
:
解决方案
- 处理方法:在 grdOrderList 中添加Click事件,判断当前选中的列是否有相同的"主医嘱ID",有的话,说明当前医嘱成组,将此医嘱组一起勾选上
private void grdOrderList_Click(object sender, EventArgs e)
{
int orderCode = FgFuncStr.NullToInt(gdvOrderListView.GetFocusedRowCellValue("主医嘱ID"));
var RowDateResult = m_OrderList_Overall.FindAll(orderList => orderList.主医嘱ID == orderCode);
if (RowDateResult == null || RowDateResult.Count <= 0)
return;
if (RowDateResult.FindAll(orderItems => orderItems.是否选择 == true).Count>0)
{
RowDateResult.ForEach(item => item.是否选择 = false);
}
else
{
RowDateResult.ForEach(item => item.是否选择 = true);
}
this.gdvOrderListView.RefreshData();
}
效果:
可以正常选中和取消(笨方法,有可能还有别的解决方式,待研究)