如何在Grid的itemSource改变的,保持选中状态不变
场景:画面左右用了两个Grid。右边Grid的数据,是通过左边Grid选中的主键来调用Filter方法筛选出来的(主表和子表)。
因为右边的Grid可以追加新的数据,客户希望右边追加的数据没有把项目填满的时候,左边的Grid,选中状态不能改变。(不能切换数据)
现在左边的Grid,可以编辑,可以追加行,也可以排序。(行追加功能是写了一个按钮调用addnew方法实现的)
现在发现追加行,Grid会把选中状态自动移动到新的行里。我尝试用selectionChanging写逻辑,然后执行e.cancel=true去解决,但是如果点了排序键(升序)以后再追加行,选择项目就又回到新追加的行了。
有什么好的方法可以保持操作数据视图,选中状态不变么?
※现在的SelectionMode是CellRange
建议发一个重现问题的demo上来,我来协助验证一下 Richard.Ma 发表于 2022-12-19 21:48
建议发一个重现问题的demo上来,我来协助验证一下
不好意思,代码在内网 带不出来。
已经换了一种实现方式解决了。 :hjyzw:好的,问题解决就行 Gangz 发表于 2023-1-4 18:25
不好意思,代码在内网 带不出来。
已经换了一种实现方式解决了。
请问你怎么解决的啊?每次数据更新后都会默认选中第一行,想保持之前的选中状态 选中的行可以直接通过grid.collectionView.currentItem来获取或者设置
所以你只要重设数据源前获取到item,设置数据源后,再设置为相同的item即可
比如设置为第四项
theGrid.collectionView.currentItem=theGrid.collectionView.items
页:
[1]