找回密码
 立即注册

QQ登录

只需一步,快速开始

yinzhm

初级会员

32

主题

129

帖子

339

积分

初级会员

积分
339

活字格认证微信认证勋章

yinzhm
初级会员   /  发表于:2014-5-17 16:37  /   查看:6672  /  回复:5
请教个问题。
我在代码中做了如下设置,希望选中行背景色为蓝色,前景色高亮。

  1. .ActiveSheet.SelectionBackColor = Color.Navy
  2. .ActiveSheet.SelectionForeColor = SystemColors.HighlightText
复制代码


正常情况下,通过鼠标点击某行选中时,效果可以出来。
当时当通过代码改变ActiveRowIndex时候,没有效果。而且改变ActiveRowIndex不会触发SelectionChanged事件吗?在该事件里处理不起作用。

有没有什么好的方法,谢谢!

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-5-19 16:59:00
沙发
回复 1楼yinzhm的帖子

你好,
ActiveRowIndex 改变时并没有更改 SheetView 的 Selecions 范围,可以在设置之后添加AddSelection来更改选择范围:

  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             fpSpread1.ActiveSheet.SelectionStyle = FarPoint.Win.Spread.SelectionStyles.SelectionColors;
  4.             fpSpread1.ActiveSheet.SelectionPolicy = FarPoint.Win.Spread.Model.SelectionPolicy.Range;
  5.             fpSpread1.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
  6.             fpSpread1.ActiveSheet.AddSelection(0, 0, 2, 2);
  7.             fpSpread1.ActiveSheet.AddSelection(3, 0, 2, 2);
  8.             fpSpread1.ActiveSheet.SelectionBackColor = Color.Red;
  9.             fpSpread1.ActiveSheet.SelectionForeColor = SystemColors.Highlight;
  10.         }

  11.         private void changeActiveRowIndexToolStripMenuItem_Click(object sender, EventArgs e)
  12.         {
  13.             this.fpSpread1.Sheets[0].ActiveRowIndex = 10;
  14.             this.fpSpread1.Sheets[0].AddSelection(10, 0, 1, 1);
  15.             
  16.             CellRange[] crs = this.fpSpread1.Sheets[0].GetSelections();
  17.         }
复制代码
回复 使用道具 举报
yinzhm
初级会员   /  发表于:2014-5-19 21:10:00
板凳
回复 2楼iceman的帖子

谢谢斑竹的回答!

有些疑问!
因为有很多地方改变了ActiveRowIndex,如果每次改变ActiveRowIndex之后都需要添加AddSelection的话,一方面量很大,而且很多是在共通里面处理的,难免有遗漏。

想知道ActiveRowIndex有没有触发什么事件,在事件里面做处理最好了。
如果没有的话,只能老办法了。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-5-20 10:50:00
地板
回复 3楼yinzhm的帖子

很抱歉,经过调查,当前 ActiveRowIndex 改变没有可以触发的事件。
回复 使用道具 举报
yinzhm
初级会员   /  发表于:2014-5-20 15:49:00
5#
回复 4楼iceman的帖子

OK,谢谢!
辛苦了!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-5-20 16:01:00
6#
回复 5楼yinzhm的帖子

恩,不客气,感谢您的理解和支持
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部