找回密码
 立即注册

QQ登录

只需一步,快速开始

15942617904

注册会员

15

主题

46

帖子

131

积分

注册会员

积分
131

[已处理] 性能优化

15942617904
注册会员   /  发表于:2021-3-16 09:36  /   查看:3998  /  回复:3
5金币
现在项目要求数据库是在LAN服务器上,这导致从本地启动服务的时候,画面会先加载出来原始的表格,
然后过段时间才加载上取出的数据,现在想改成在数据取到以后再表示画面,应该怎么去做,有什么特定的方法能直接实现吗?
求大神指导。

3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-16 09:49:12
沙发
“画面会先加载出来原始的表格,然后过段时间才加载上取出的数据”,你现在应该是用单独的线程去加载数据的吧,不然界面肯定会卡死

你想要“数据取到以后再表示画面”,
如果是说数据取到后再显示winforms窗体的话,那么就在 Program.cs的Main方法中先去取数据,然后再显示窗体

如果是说先显示空白窗体,在数据取到后再去显示spread控件的话,那么可以先隐藏Spread控件fpSpread1.Visible = false; 数据加载后再显示
回复 使用道具 举报
15942617904
注册会员   /  发表于:2021-3-16 10:53:58
板凳
本帖最后由 15942617904 于 2021-3-16 11:19 编辑
Richard.Ma 发表于 2021-3-16 09:49
“画面会先加载出来原始的表格,然后过段时间才加载上取出的数据”,你现在应该是用单独的线程去加载数据的 ...

那在Load方法里面开始的时候加上Me.spread.SuspendLayout(),结束时加上Me.spread.ResumeLayout()有用吗
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-3-16 12:00:50
地板
这个应该不行,你直接把InitializeComponent中创建和添加Spread的代码放到你加载数据后就行了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部