找回密码
 立即注册

QQ登录

只需一步,快速开始

life_thinker

新手上路

1

主题

2

帖子

27

积分

新手上路

积分
27
  • 25

    金币

  • 主题

  • 帖子

最新发帖
life_thinker
新手上路   /  发表于:2010-1-22 20:24  /   查看:10045  /  回复:5
我想使用GcMultiRow(在WinForm中使用)绑定并显示数据,但数据源的表的列是动态的,怎样才能实现此功能?
    其中存在的难点是:
    1.列不确定的情况下,行的Cell在设计模板(Template)时,无法添加Cell,因为由于列个数不确定,所以Cell的个数也不确定,而且Cell的DataField也无法指定;
    2.如果通过代码动态创建列的话,产生的问题是程序的执行效率低,窗体加载数据的时候显示有延迟。
     有哪位高人知道请指点一二,我的邮箱是life_thinker@163.com

     :) 在此先表感谢!

5 个回复

倒序浏览
Carl
版主   /  发表于:2010-1-25 08:51:00
沙发
你好,GcMultiRow的现有版本暂时不支持用设计模板的方式呈现动态的数据源,我们正在想办法在新版本中做些改进。
通过代码创建是可行的方案,使用恰当的话应该不会有效率的问题,因为使用模板定制其实也是靠生成后台代码来工作的。你可以参考使用模板生成的代码,基于他做一定的修改来满足你的需求。

如果还有性能问题的话,请把你的代码贴出来,我们可以帮你检查。
愿 Engine 归于沉寂,Timer 停止运动,Message Queue 不再流淌,Data Source 为我掌握
回复 使用道具 举报
MultiRow
注册会员   /  发表于:2010-1-25 09:16:00
板凳
你是不是在Form加载上来之后修改的模板?如果是那样,可能导致数据被加载了两次,从而性能比较慢。如果我没有猜错,请试试在Form设计器中将Template设置为空,并在Form的构造函数中构造你的模板并设置给GcMultiRow.
回复 使用道具 举报
life_thinker
新手上路   /  发表于:2010-1-25 18:28:00
地板
感谢你们的帮助,我再查看一下吧。
我感觉有可能是访问数据库的过程中产生的延迟。
回复 使用道具 举报
Arthas
葡萄城公司职员   /  发表于:2010-1-25 23:04:00
5#
其实即使搞不定延时, 也可以换个思路来解决的。

比如, 假设你访问数据需要5秒,
你怕用户等的郁闷。

你可以用一个展开窗口的动画,(AnimateWindow函数)
来拖过这五秒, 吸引用户注意力。

这样可以在不优化程序的前提下让用户感觉爽一点。
扯淡第一高手
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2010-1-31 08:38:00
6#
GcMultiRow的最基本概念是每行都是基于模板的迭代。所以动态加载列不是GcMultiRow的强项。需要通过动态换模板来实现。但是从性能角度说,动态换模板和一般Grid的动态加载列的性能是差不多了。就是代码写起来会麻烦些。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部