找回密码
 立即注册

QQ登录

只需一步,快速开始

xujingtian

论坛元老

28

主题

115

帖子

5359

积分

论坛元老

积分
5359

活字格认证

[已处理] 分页效率问题

xujingtian
论坛元老   /  发表于:2013-9-25 22:23  /   查看:6016  /  回复:7
在代码中设置
this.FpSpread1.ActiveSheetView.AllowPage = false;

设置
FpSpread1.Rows.Count = 500;//这个也是默认值
FpSpread1.Columns.Count = 500;//这个也是默认值

在页面中展示时,就会很卡,请问有什么办法解决吗?

7 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2013-9-26 09:27:00
沙发
回复 1楼xujingtian的帖子

你好,

可以尝试使用 按需加载的方式展示 数据量比较大的表格。详细请参考:
http://www.gcpowertools.com.cn/L ... edLoadOnDemand.aspx
回复 使用道具 举报
xujingtian
论坛元老   /  发表于:2013-9-26 14:30:00
板凳
回复 2楼iceman的帖子

谢谢,用了OffsetBased 触发模式,暂时解决问题了,不过,数据一加载完后,还是会很卡。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-9-26 15:17:00
地板
回复 3楼xujingtian的帖子

请问你使用的版本是?7.0吗?
回复 使用道具 举报
xujingtian
论坛元老   /  发表于:2013-9-26 15:26:00
5#
回复 4楼iceman的帖子

是的,7.0,试用
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-9-26 18:08:00
6#
回复 5楼xujingtian的帖子
Spread 在呈现数据时,除了数据本身,还有一些样式的加载,对性能也有一定影响。

此外,500×500 在web项目中数据量还是比较大的,建议进行分页处理。
建议进行分页处理。方法为:
  1. this.FpSpread1.Sheets[0].PageSize = 30;
  2. this.FpSpread1.Sheets[0].AllowPage = true ;
复制代码
回复 使用道具 举报
xujingtian
论坛元老   /  发表于:2013-9-27 08:53:00
7#
回复 6楼iceman的帖子

谢谢,明白,但主要是客户需求上不允许分页。实在不行,只能分页了。
分页后,冻结的行,会不会一直在呢?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-9-27 10:14:00
8#
回复 7楼xujingtian的帖子

冻结行会一直存在页面顶部。不受分页影响。
其实测试起来很简单:
  1. protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }

  7.             this.FpSpread1.Sheets[0].RowCount = 100;
  8.             this.FpSpread1.Sheets[0].Cells[0, 0].Text = "测试冻结";
  9.             this.FpSpread1.Sheets[0].FrozenRowCount = 1;
  10.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部