找回密码
 立即注册

QQ登录

只需一步,快速开始

senyugo

银牌会员

25

主题

78

帖子

3353

积分

银牌会员

积分
3353

活字格认证

senyugo
银牌会员   /  发表于:2014-3-10 11:31  /   查看:21994  /  回复:20
通过代码将ActiveRowIndex = 0
但是spread显示的选中框还是在之前点的某一行(比如第七行),请问是怎么回事?

20 个回复

倒序浏览
roger.wang
社区贡献组   /  发表于:2014-3-10 11:36:00
沙发
回复 1楼senyugo的帖子

Spread的哪个版本?  

能通过代码获得ActiveRowIndex 您所设置的0吗?
可试试添加Selection属性。
回复 使用道具 举报
senyugo
银牌会员   /  发表于:2014-3-10 11:40:00
板凳
回复 2楼roger.wang的帖子

PowerTools SPREAD for Windows Forms 7.0

能通过代码获取ActiveRowIndex

            MessageBox.Show(spd1.ActiveSheet.ActiveRowIndex.ToString());
            spd1.ActiveSheet.ActiveRowIndex = 0;
            MessageBox.Show(spd1.ActiveSheet.ActiveRowIndex.ToString());

使用clearselection 仍然一样,还有其他办法么?
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-3-10 14:21:00
地板
回复 3楼senyugo的帖子

显示的选中框,是用SetActivecell控制的。
您先试试这个,看看是否是您要的效果。
回复 使用道具 举报
senyugo
银牌会员   /  发表于:2014-3-10 14:37:00
5#
回复 4楼roger.wang的帖子

SetActivecell试过了,并没有效果

我的spread是单行选择的
FarPoint.Win.Spread.OperationMode.SingleSelect
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-3-10 16:00:00
6#
回复 5楼senyugo的帖子

好的,知道了,我再找找其他办法,明天给您回复。
回复 使用道具 举报
senyugo
银牌会员   /  发表于:2014-3-11 11:43:00
7#
回复 6楼roger.wang的帖子

有好的解决办法咩
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-3-11 14:49:00
8#
回复 7楼senyugo的帖子

我把上面我们讨论的代码又验证一遍,是可以实现1#您期望的效果的。

  1.             this.fpSpread1.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;

  2.             MessageBox.Show(fpSpread1.ActiveSheet.ActiveRowIndex.ToString());
  3.             fpSpread1.ActiveSheet.ActiveRowIndex = 3;
  4.             MessageBox.Show(fpSpread1.ActiveSheet.ActiveRowIndex.ToString());

  5.             fpSpread1.ActiveSheet.ClearSelection();
  6.             fpSpread1.ActiveSheet.AddSelection(3, 0, 1, fpSpread1.ActiveSheet.ColumnCount);
复制代码
回复 使用道具 举报
senyugo
银牌会员   /  发表于:2014-3-11 15:00:00
9#
回复 8楼roger.wang的帖子

其实问题是由
http://gcdn.gcpowertools.com.cn/showtopic-11922.html
引申出来的

要再现这个问题的话,麻烦您让spread
响应celldoubleclick事件,并对spread内容清除再赋值,然后问题就来,会一直选中在刚才双击的那一行
回复 使用道具 举报
roger.wang
社区贡献组   /  发表于:2014-3-11 16:31:00
10#
回复 9楼senyugo的帖子

抱歉,未能浮现您的问题。

  1.         private void fpSpread1_CellDoubleClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
  2.         {
  3.             fpSpread1.ActiveSheet.Cells[e.Row, e.Column].Text = "aa";
  4.         }
复制代码


请提供一个简易demo,最好能截图描述一下的关键点。
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部