请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

a565633123

银牌会员

4

主题

14

帖子

2648

积分

银牌会员

积分
2648
最新发帖
a565633123
银牌会员   /  发表于:2016-1-6 16:01  /   查看:5546  /  回复:8
TrueDBGrid  怎么实现 FiexGrid的Select(row,col,show)方法

就是修改列表中的数据 重新加载数据 选中刚刚修改的那一条数据  
上面那种select还有缺陷 修改排序了的字段就会有问题
请问 还有什么办法选中修改的那一条数据

8 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2016-1-6 17:25:00
沙发
回复 1楼a565633123的帖子

谢谢您的反馈。
您可以使用SelectedRows集合添加选择行。
例如,选择一行,代码参考:
  1. this.c1TrueDBGrid1.SelectedRows.Add(1);
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
a565633123
银牌会员   /  发表于:2016-1-7 09:17:00
板凳
修改怎么定位呢  还有加载的数据源都是重新查询出来的
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-1-7 10:38:00
地板
回复 3楼a565633123的帖子

通过ScrollGrid方法可以滚动到特定的单元格: ScrollGrid(int cols, int rows)。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
a565633123
银牌会员   /  发表于:2016-1-7 16:16:00
5#
this.trueDBGrid.ScrollGrid(0, row);
this.trueDBGrid.SetActiveCell(row, 0);

this.fiexGrid.Select(row,col,show)
根据选中行的索引已经可以解决了   但是有错 前面就说了
我想要的是 还有什么办法可以记录操作的整行 再在数据源中筛选到 并选中
避免其他用户添加一行 或者修改的是排序的字段  引起的数据问题 导致row定位的不是前一次操作的数据
回复 使用道具 举报
a565633123
银牌会员   /  发表于:2016-1-7 16:20:00
6#
或者 能根据id找到这行在数据源中的索引么
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-1-7 17:08:00
7#
回复 5楼a565633123的帖子

排序后,如要从数据源取到DataView。
如下代码可以帮助您通过c1TrueDBGrid的row找到数据源里的DataRow
  1. if (this.c1TrueDBGrid1.FocusedSplit.Rows[this.c1TrueDBGrid1.Row].RowType == C1.Win.C1TrueDBGrid.RowTypeEnum.DataRow)
  2. {
  3.     System.Data.DataRow dr = (System.Data.DataRow)this.c1TrueDBGrid1[this.c1TrueDBGrid1.RowBookmark(this.c1TrueDBGrid1.Row)];

  4. }
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
a565633123
银牌会员   /  发表于:2016-1-12 10:37:00
8#
DataRowView dtRow = (DataRowView)trueDBGrid[rowIndex];
这也可以获取修改行的数据  重新加载数据源后(数据可能会增加 记录的索引就不对了) 那么需要重新找出该行在trueDBGrid中的位置(索引) 不使用rowIndex,this.c1TrueDBGrid1.Row等记录的选中行索引
现在问题是怎么找到dtRow在trueDBGrid(重新加载过数据源)中的位置。或者还有其他方法 可以根据该行ID找到在trueDBGrid中的位置
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-1-12 14:15:00
9#
回复 8楼a565633123的帖子

如果您更改了数据源,那么表格无法得知您具体的对应关系。
也许您数据源里的数据都变换了,也许增加或是减少,或是不存在。那么也只能自己去写逻辑判断是否是同一个数据行。
业务逻辑涉及到具体您的需求,您可以根据自己的需求设计。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部