以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=150317) |
-- 作者:leoli -- 发布时间:2020/5/26 22:37:00 -- [求助] 老师,我在学习以下代码中,有个问题:当后台数据更新后, 1. 这个ComboBox1 不会自动更新,需重新打开项目后才可更新,如何后更新后,ComboBox1中的内容也自动更新 2.这个ComboBox1不可以模糊查找,如何可以模糊查找这其中的内容? 临时表与全局变量
在实际开发的过程中,我们可以需要经常在代码中调用某个表的数据,但是又不需要在界面中显示这个表。
假定我们建立了一个外部数据源"Region",其中有个名为“行政区域”的基础数据表,这个表已经输入了全国所有县级行政区域的资料,包括省市、市县、区号、邮编四列。 1、首先在全局代码中定义一个Public变量: Public rdt As DataTable 2、在项目事件AfterOpenProject中设置代码:
Dim
cmd
As
New
SQLCommand 3、现在我们可以在任何地方调用这个表的数据,例如窗口中有两个ComboBox控件,第一个ComboBox列出所有的省市,第二个ComboBox根据第一个ComboBox所选择的省市,列出该省市所有的县市。 首先将窗口的AfterLoad事件代码设置为: e.Form.Controls("ComboBox1").ComboList = rdt.GetComboListString("省市") 然后将ComboBox2的Enter事件代码设置为:
Dim
sh As
String = e.Form.Controls("ComboBox1").value 4、再例如希望在客户表中输入省市、县市两列后,区号和邮编能自动输入,可以将客户表的DataColChanged事件代码设置为:
If
e.DataCol.Name =
"省市" Orelse e.DataCol.Name
= "县市" Then Dim dr As DataRow Dim Filter As String Filter = "[省市] = \'" & e.DataRow("省市") & "\' And [县市] = \'" & e.DataRow("县市") & "\'" dr = rdt.Find(Filter) If dr IsNot Nothing Then e.DataRow("区号") = dr("区号") e.DataRow("邮编") = dr("邮编") Else e.DataRow("区号") = Nothing e.DataRow("邮编") = Nothing End If End If |
-- 作者:有点蓝 -- 发布时间:2020/5/26 22:45:00 -- 1、ComboBox1,enter事件 e.sender.ComboList = rdt.sqlGetComboListString("省市") |