找回密码
 立即注册

QQ登录

只需一步,快速开始

xiwu

中级会员

97

主题

445

帖子

910

积分

中级会员

积分
910

活字格认证

xiwu
中级会员   /  发表于:2014-6-19 15:10  /   查看:8769  /  回复:11
一个窗口里只包括 一个spread.net表格,内容只有41行,10列,要启动这个窗体需要15秒,太慢了,这是为什么?

11 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2014-6-19 18:01:00
沙发
回复 1楼xiwu的帖子

请问在加载之前做了哪些操作?比如说设置格式或者查询数据。

根据当前信息我们无法重现问题,最好能把你的 Demo 发上来调试下?
回复 使用道具 举报
xiwu
中级会员   /  发表于:2014-6-19 18:57:00
板凳
public CqForm(int Speed)
        {
            InitializeComponent();
                    }发现在这里执行到    this.fpSet_衬砌数量输出表.Models = ((FarPoint.Win.Spread.SheetView.DocumentModels)(resources.GetObject("fpSet_衬砌数量输出表.Models")));这句的时候比较慢
回复 使用道具 举报
xiwu
中级会员   /  发表于:2014-6-19 18:59:00
地板
我说的15秒,大概有14秒是停在这句上面
回复 使用道具 举报
xiwu
中级会员   /  发表于:2014-6-19 19:36:00
5#
我又试了,将表格另存为xml格式,然后再打开,这样启动窗体约3秒
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-6-20 10:06:00
6#
回复 5楼xiwu的帖子

你好,41*10 的数据量不大,能否把你的 XML 文件传上来,我这边看看有没有优化的可能?
回复 使用道具 举报
xiwu
中级会员   /  发表于:2014-6-20 10:45:00
7#
回复 6楼iceman的帖子

xml文件,,,,,,,,,

afa.zip

52.46 KB, 下载次数: 170

xml

回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-6-20 14:41:00
8#
回复 7楼xiwu的帖子

查看到表格中有CheckBox、合并单元格以及边框等格式,通过 XML 文件加载这种方式可能优化余地不大。
请你尝试以下代码:

  1.             Stopwatch sw = new Stopwatch();

  2.             sw.Start();
  3.             this.fpSpread1.SuspendLayout();
  4.             this.fpSpread1.Open("afa.xml");
  5.             this.fpSpread1.ResumeLayout();
  6.             sw.Stop();

  7.             MessageBox.Show(sw.ElapsedMilliseconds.ToString());
复制代码
回复 使用道具 举报
xiwu
中级会员   /  发表于:2014-6-20 15:01:00
9#
我这个表格是固定在一个窗体里的,不是启动时再去加载
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-6-20 17:54:00
10#
回复 9楼xiwu的帖子

很抱歉,表格中有CheckBox、合并单元格以及边框等格式是需要耗费性能的地方,我们目前也没有太好的优化方法。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部