找回密码
 立即注册

QQ登录

只需一步,快速开始

youitlyang

金牌服务用户

37

主题

113

帖子

254

积分

金牌服务用户

积分
254

活字格认证

youitlyang
金牌服务用户   /  发表于:2010-12-13 15:26  /   查看:9883  /  回复:13
我现在用鼠标选中一块区域,然后点右键弹出合并菜单,请问如何实现这个功能!

13 个回复

倒序浏览
youitlyang
金牌服务用户   /  发表于:2010-12-13 15:52:00
沙发
11443715625978.jpg (12.33 KB, 下载次数: 210)
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-12-13 16:36:00
板凳
给Spread添加ContextMenuStrip,自己编辑ContextMenuStrip,并且挂上对应的事件。在事件中,根据不同的menu,选择对应的Spread操作接口。
回复 使用道具 举报
youitlyang
金牌服务用户   /  发表于:2010-12-13 16:40:00
地板

我就是不知道操作接口才来问你们的啊!

老大,我就是不知道操作接口才来问你们的啊!
如果今天不能解决这个问题,可能我们就要放弃用这个控件了!
回复 使用道具 举报
youitlyang
金牌服务用户   /  发表于:2010-12-13 16:41:00
5#

我就是不知道操作接口才来问你们的啊!

老大,我就是不知道操作接口才来问你们的啊!
如果今天不能解决这个问题,可能我们就要放弃用这个控件了!
回复 使用道具 举报
youitlyang
金牌服务用户   /  发表于:2010-12-13 16:43:00
6#
本来我是想这个干的,但是发现 fpSpread1.ActiveSheet.GetSelections()并没有把所有选中的区域选出来,只出来第一个格子!

FarPoint.Win.Spread.Model.CellRange[] select = fpSpread1.ActiveSheet.GetSelections();

            for (int i = 0; i < select.Length; i++)
            {
                FarPoint.Win.Spread.Model.CellRange selectcell = select;
                MessageBox.Show(selectcell.Row.ToString());
                MessageBox.Show(selectcell.Column.ToString());
            }
                        
            //int i = fpSpread1.ActiveSheet.SelectionCount;




            //MessageBox.Show(i.ToString());

            //fpSpread1.ActiveSheet.se
            //Rectangle fpSpread1.ActiveSheet
回复 使用道具 举报
youitlyang
金牌服务用户   /  发表于:2010-12-13 16:45:00
7#
带颜色的区域都是我用鼠标选中的,但是fpSpread1.ActiveSheet.GetSelections()中只有左上角一个格子!
回复 使用道具 举报
gw0506
超级版主   /  发表于:2010-12-13 16:49:00
8#
GetSelections()返回的是一个CellRange。
  1. {CellRange: 2, 1, 5, 2}
复制代码
它表示从Cells[2,1]开始,选中了5行,2列的数据。

如果你直接问我GetSelections()返回值有问题,我们沟通会更高效。
回复 使用道具 举报
youitlyang
金牌服务用户   /  发表于:2010-12-13 16:52:00
9#
我先试一下!
回复 使用道具 举报
youitlyang
金牌服务用户   /  发表于:2010-12-13 16:58:00
10#
FarPoint.Win.Spread.Model.CellRange[] select = fpSpread1.ActiveSheet.GetSelections();

//            fpSpread1.ActiveSheet.AddSpanCell(select[0].Row, select[0].Column, select[0].RowCount, select[0].ColumnCount);
            fpSpread1.ActiveSheet.AddSpanCell(select[0]);

搞定了,但是直接用fpSpread1.ActiveSheet.AddSpanCell(select[0]);却不行,建议能直接这么用,不是更方面吗?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部