Foxtable(狐表)用户栏目专家坐堂 → 优化段代码


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

主题:优化段代码

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


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
优化段代码  发帖心情 Post By:2019/3/1 13:08:00 [只看该作者]


原代码  科目编码=10100101 依据科目编码规则    kmbm_lenC(1)=101  kmbm_lenC(2)=101001  kmbm_lenC(3)=10100101 
编码  名称
101  银行存款
101001 同城存款
10100101 中国银行

如果输入的编码是 10100101 返回的名称是 银行存款_同城存款_中国银行
Dim KM As String
For i = 1 To js
    KM = KM & "'" & kmbm_lenC(i) & "',"
Next
km=km.TrimEnd(",")
sql = "s elect DISTINCT 科目编码,科目名称 from {K01} where 科目编码 In (" & KM & ")  order by 科目编码"
Dim s As String
For Each dr As DataRow In ReturnDataRead(sql).DataRows
    s=s & dr("科目名称") &"_"
Next
这段代码写到 DrawCell  运行速度很慢  请版主优化

要达到的效果就是

图片点击可在新窗口打开查看此主题相关图片如下:qyz`tupdoppe74pf~lopwg2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:@@)j7((9~n5m837`@uhs3ql.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2019/3/1 13:15:04编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/1 14:34:00 [只看该作者]

1、耗时的代码不能写在drawcell事件。你这段代码的效率太低,肯定不能在那里处理。

 

2、加入一个辅佐列,你在datacolchanged事件,把值提取过来存放。然后再在drawcell直接显示辅佐列的值。


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


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/3/1 15:35:00 [只看该作者]

这样我保存的时候  是不是先要把这列删除?或者临时增加的列 不会保存在数据库里?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/1 15:49:00 [只看该作者]

如果你用临时列或者表达式列,不需要删除数据或者删除列。但你每次打开项目或者加载数据的时候,你要每一行重新获取值。

 

如果你用数据列,不需要删除值吧,直接保存起来,下次不需要重新获取。


 回到顶部