找回密码
 立即注册

QQ登录

只需一步,快速开始

dc22wt

论坛元老

21

主题

95

帖子

9445

积分

论坛元老

积分
9445

活字格认证

[已处理] 求助表格行选择

dc22wt
论坛元老   /  发表于:2013-12-30 13:23  /   查看:9376  /  回复:10

表格1

表格1
我想通过表格1的户号关联表格2的户号

表格2

表格2
当表格2的户号被关联的时候,相对应的那一行要高亮显示,开始我用的是row.backcolor,但是不知道怎么去清楚这个效果,然后想尝试触发表格2对应行的行选中模式,但是没有找到方法,希望斑竹帮忙解答下

10 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2013-12-30 14:13:00
沙发
回复 1楼dc22wt的帖子

试试这个代码,看可以不:

  1. fpSpread1.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
  2. fpSpread1.ActiveSheet.ClearSelection();
  3. fpSpread1.ActiveSheet.AddSelection(3, 0, 1, 1);
复制代码
回复 使用道具 举报
dc22wt
论坛元老   /  发表于:2013-12-30 17:24:00
板凳
不行
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2013-12-30 17:42:00
地板
回复 3楼dc22wt的帖子

能给提供demo吗?  咱们围绕同一个目前聚焦协作, 通过代码实现高亮选中,上面的代码是可以做到的。
回复 使用道具 举报
dc22wt
论坛元老   /  发表于:2014-1-2 11:10:00
5#
QQ截图20140102110602.png
private void fpSpread2_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
        {
  fpSpread2.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
            fpSpread2.ActiveSheet.AddSelection(e.Row, 0, 1, 1);
            fpSpread2.ActiveSheet.ActiveRow.BackColor = Color.YellowGreen;
}
用了这个代码实现了选中的背景颜色为黄绿色,但是每次出现黄绿色都需要单击两次,而且当我单击下一行的时候,上一行的背景色依然为黄绿色,不知道是哪有问题?
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-2 12:13:00
6#
回复 5楼dc22wt的帖子

您好,如果要设置ActiveRow的BackColor,通过上面的函数是对的,但是有2个问题
1 不能“立即生效”,UI需要刷新一下
2 新的ActiveRow后,还要考虑去掉老的ActiveRow.BackColor。

有这样一个接口,您看看是否和您的需求符合:
配置一个SelectionStyle
  1.       
  2.         fpSpread1.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
  3.         fpSpread1.ActiveSheet.AddSelection(e.Row, 0, 1, 1);
  4.         //fpSpread1.ActiveSheet.ActiveRow.BackColor = Color.YellowGreen;

  5.         fpSpread1.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors;
  6.         fpSpread1.ActiveSheet.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.Range;
  7.         fpSpread1.ActiveSheet.SelectionBackColor = Color.YellowGreen;
  8.         fpSpread1.ActiveSheet.SelectionForeColor = Color.Green;
复制代码
回复 使用道具 举报
dc22wt
论坛元老   /  发表于:2014-1-2 14:21:00
7#
this.fpSpread3_Sheet1.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors;           this.fpSpread3_Sheet1.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
  this.fpSpread3_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly;
fpSpread2.ActiveSheet.ActiveRow.BackColor = Color.YellowGreen;
一定要这样设这样才能实现激活行的颜色才能随之改变,但是这样就使得我的第一列的CHECKBOX都不能选中去改变状态了,也就变成和列头全选的checkbox一样,我要试试你那个方法可以嘛
回复 使用道具 举报
dc22wt
论坛元老   /  发表于:2014-1-2 14:23:00
8#
顺便再问一个问题,我怎么通过上下方向键去移动行选择谢谢
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-1-2 15:29:00
9#
回复 8楼dc22wt的帖子

fpSpread1_PreviewKeyDown 事件,试过吗?
回复 使用道具 举报
dc22wt
论坛元老   /  发表于:2014-1-2 16:55:00
10#
没有,有说明吗
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部