Foxtable(狐表)用户栏目专家坐堂 → 再提DataList显示行号和选择框的速度问题!


  共有24275人关注过本帖树形打印复制链接

主题:再提DataList显示行号和选择框的速度问题!

帅哥哟,离线,有人找我吗?
cpayinyuan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
再提DataList显示行号和选择框的速度问题!  发帖心情 Post By:2009/4/24 8:16:00 [只看该作者]

    我以前提过,DataList的RowHeaderVisible和 CheckBoxes应作为加载后的一项属性来对待,而目前的系统中作为加载时的一个选项,改变这个设置后需要重新用Build加载才生效。以前只是感觉不太合适,没有意识到有什么大的问题,现在发现最严重的问题在于速度。
    现在我在DataList显示后,改变一下这个选项,需要重新加载 DataList的数据,基本上需要等待30秒左右的时间,而如果是把这两个选项改为加载后的选项,估计1秒钟就够了吧(改变RowFilter就很快)。所以,希望贺老师把这个选项改一下。
[此贴子已经被作者于2009-4-24 10:01:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/24 8:46:00 [只看该作者]

嘿嘿,我从来就没有说Build就必须重新加载数据,是你自己这么想的。

你可以做一个切换按钮:

With e.Form.Controls("DataList1")
    .CheckBoxes = Not .CheckBoxes
    .Build
End With

图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2009/4/24 8:51:00 [只看该作者]

以下是引用狐狸爸爸在2009-4-24 8:46:00的发言:

嘿嘿,我从来就没有说Build就必须重新加载数据,是你自己这么想的。

你可以做一个切换按钮:

With e.Form.Controls("DataList1")
    .CheckBoxes = Not .CheckBoxes
    .Build
End With

图片点击可在新窗口打开查看

要打PP,不明確就是誤導!图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/24 8:53:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
ybil
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2009/4/24 8:59:00 [只看该作者]

一鍵兩用:

With e.Form.Controls("DataList1")
    .RowHeaderVisible = 1
    .CheckBoxes = Math.abs(Val(.CheckBoxes))-1
    .Build()
    e.Sender.Text = choose(Math.abs(Val(.CheckBoxes))+1,"复选框","行号")
End With

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/24 9:59:00 [只看该作者]

以下是引用狐狸爸爸在2009-4-24 8:46:00的发言:

嘿嘿,我从来就没有说Build就必须重新加载数据,是你自己这么想的。

你可以做一个切换按钮:

With e.Form.Controls("DataList1")
    .CheckBoxes = Not .CheckBoxes
    .Build
End With

图片点击可在新窗口打开查看

我表达得不太对,但事实仍然是如此,仍然存在同样的问题!
只要用build,速度就非常慢,需要很长时间!但若改变DataList的属性或者用RowFilter,需要的时间就非常短.


 回到顶部
帅哥哟,离线,有人找我吗?
don
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2009/4/24 10:53:00 [只看该作者]

以下是引用cpayinyuan在2009-4-24 9:59:00的发言:

我表达得不太对,但事实仍然是如此,仍然存在同样的问题!
只要用build,速度就非常慢,需要很长时间!但若改变DataList的属性或者用RowFilter,需要的时间就非常短.

     确实如此.可能DataList中序号及CheckBoxes共用[_Identify]一列,序号及CheckBoxes间的转变需更改列属性(设计表),而设计表是要存盘的!
     如让他爹另加一逻辑列用于显示CheckBoxes可能解决问题.


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/24 11:02:00 [只看该作者]

是的,除非来两列,一个行号,一个复选框,分别设置,否则没办法。

 回到顶部
帅哥哟,离线,有人找我吗?
cpayinyuan
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/24 11:11:00 [只看该作者]

以下是引用狐狸爸爸在2009-4-24 11:02:00的发言:
是的,除非来两列,一个行号,一个复选框,分别设置,否则没办法。

    希望贺老师不要轻易说没有办法!
    切换一下行号/选择框,对DataList的主体部分的显示没有任何影响,难道会需要很复杂的运算、需要很长的时间吗?我不知道DataList的Build都作了哪些操作,但我相信,当我改变显示行号的选项后运行Build,如果单纯改变显示行号还是选择框应该是很快的,目前的系统肯定做了许多不必要的重复性运算,所以速度才会这么慢!虽然这是个小问题,但目前的速度,当数据量大的时候这个功能根本无法使用,建议想办法改进一下!许许多多复杂的问题都能解决了,我不相信这个小问题解决不了?!
    另外ColumnList也存在同样的速度非常慢的问题。
    补充:行号和选择框在表内部怎么存储我们不关心,我只关心速度的问题。

   



[此贴子已经被作者于2009-4-24 11:14:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
don
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2009/4/24 11:31:00 [只看该作者]

或者他爹看看DataList能否支持Table的表视图?如能,则不必每表另加一列用于显示CheckBoxes.

 回到顶部
总数 28 1 2 3 下一页