找回密码
 立即注册

QQ登录

只需一步,快速开始

neu_BeyondTechn

主题

帖子

积分

积分
  • 金币

  • 主题

  • 帖子

最新发帖
neu_BeyondTechn
  /  发表于:2013-9-18 10:13  /   查看:6485  /  回复:5
提示: 作者被禁止或删除 内容自动屏蔽

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-9-18 11:46:00
沙发
回复 1楼neu_BeyondTechn的帖子

neu_BeyondTechn 你好,
感谢问题反馈。下面分别阐述提出的问题:
1.整个锁定Spread,使它包括ColumnHeader,RowHeader,数据区域不能接受一切鼠标和按键事件
请使用以下代码测试:

  1. public Form1()
  2.         {
  3.             InitializeComponent();
  4.             //设置Sheet为ReadOnly
  5.                        this.fpSpread1.Sheets[0].OperationMode = FarPoint.Win.Spread.OperationMode.ReadOnly;

  6.             this.fpSpread1.CellClick += new FarPoint.Win.Spread.CellClickEventHandler(fpSpread1_CellClick);
  7.                    }
  8.         //判断是否点击为表头,如果是取消点击
  9.         private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
  10.         {
  11.             if (e.ColumnHeader || e.RowHeader)
  12.             {
  13.                 e.Cancel = true;
  14.             }
  15.         }
复制代码

2.Spread右上角有个和Excell类似的分屏功能块,拖动这个小块就会把Spread分为上下两个区域,怎么把这个功能去了
请使用以下代码测试:

  1.      //隐藏 Split
  2.      this.fpSpread1.RowSplitBoxPolicy = FarPoint.Win.Spread.SplitBoxPolicy.Never;
  3.      this.fpSpread1.ColumnSplitBoxPolicy = FarPoint.Win.Spread.SplitBoxPolicy.Never;
复制代码

3.需要通过 CellClick 事件实现:

  1. //判断是否点击为表头,如果是取消点击
  2.         private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
  3.         {
  4.             if (e.ColumnHeader || e.RowHeader)
  5.             {
  6.                 e.Cancel = true;
  7.             }
  8.         }
复制代码

4.Spread只清空数据包括滚动条位置而不刷新行列等设置,除了ResumeLayout()和SuspendLayout()方法有更好的办法吗
不好意思,这个目前没有更好的建议可以提供。
回复 使用道具 举报
neu_BeyondTechn
  /  发表于:2013-9-18 18:02:00
板凳
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-9-22 11:52:00
地板
回复 3楼neu_BeyondTechn的帖子

neu_BeyondTechn 你好,

不好意思,目前表头还没有开放 SelectionStyle  接口,所以无法设置它的选择样式。

可以隐藏表头,通过冻结行列来模拟表头,具体操作请参考代码:

  1.             this.fpSpread1.Sheets[0].ColumnHeader.Visible = false;
  2.             this.fpSpread1.Sheets[0].RowHeader.Visible = false;

  3.             this.fpSpread1.Sheets[0].FrozenColumnCount = 1;
  4.             this.fpSpread1.Sheets[0].FrozenRowCount = 1;

  5.             int rowcount = this.fpSpread1.Sheets[0].RowCount;
  6.             for (int i = 1; i < rowcount; i++)
  7.             {
  8.                 this.fpSpread1.Sheets[0].Cells[i, 0].Text = (i + 1).ToString();
  9.             }

  10.             int colcount = this.fpSpread1.Sheets[0].ColumnCount;
  11.             for (int i = 1; i <= 26; i++)
  12.             {
  13.                 this.fpSpread1.Sheets[0].Cells[0, i].Text = Convert.ToChar(i + 96).ToString();
  14.             }
复制代码
回复 使用道具 举报
neu_BeyondTechn
  /  发表于:2013-9-22 14:37:00
5#
提示: 作者被禁止或删除 内容自动屏蔽
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-9-22 17:42:00
6#
回复 5楼neu_BeyondTechn的帖子

客气了,有问题欢迎开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部