以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 生成下拉列表时代码写在哪里更高效? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100968) |
-- 作者:HappyFt -- 发布时间: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中,感觉第一种每次准备编辑表时都要执行一次,是不是后面这种更高效,还是无所谓? 谢谢!
|
-- 作者:有点色 -- 发布时间:2017/5/22 17:05:00 -- 肯定不能重复查询,prepareEdit的触发频率是很高的。
如果你供应商变化频率不高,就不要重复查,最好是做个刷新按钮,重新获得全部内容。 |