Foxtable(狐表)用户栏目专家坐堂 → 生成下拉列表时代码写在哪里更高效?


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

主题:生成下拉列表时代码写在哪里更高效?

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


加好友 发短信
等级:八尾狐 帖子:1907 积分:16954 威望:0 精华:0 注册:2014/7/29 19:09:00
生成下拉列表时代码写在哪里更高效?  发帖心情 Post By:2017/5/22 16:41:00 [只看该作者]

可以在表的PrepareEdit中写如下代码生成下拉列表

If e.IsFocusCell Then '一定要判断是否是焦点单元格
    Dim cmd As New SQLCommand
    cmd.ConnectionName = Mydata
    Dim dt As DataTable
    Se lect Case e.Col.Name
        Case "入库单位"
            '从供应商中提取数据
            cmd.CommandText = "Se lect distinct 供应商简称 From 供应商 where 业务类别 = '外协加工'"
            dt = cmd.ExecuteReader()
            e.Col.Combolist = dt.GetComboListString("供应商简称")
    End Se lect
End If

也可以将上述代码放在窗口的afterLoad中,感觉第一种每次准备编辑表时都要执行一次,是不是后面这种更高效,还是无所谓?
谢谢!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/22 17:05:00 [只看该作者]

 肯定不能重复查询,prepareEdit的触发频率是很高的。

 

 如果你供应商变化频率不高,就不要重复查,最好是做个刷新按钮,重新获得全部内容。


 回到顶部