以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 航线判断问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=106099) |
-- 作者:轩辕绝 -- 发布时间:2017/9/1 22:02:00 -- 航线判断问题 请老师注意,因为本论坛过滤的词汇包含“过.夜”(中间没“.”)所以所有涉及该词的,中间都加了个“.”
根据控件“航段”的数据来判断从“航点表”中提取航班的特点判断:“过.夜”和“国际” 航点表如下
窗口设计如下:
运行后如下:
需要达到的要求: 1自动识别是否是国际航班,如果是自动勾选国际,并将通往城市自动填入“国际名”的文本框中。 判定方式将“航段”文本框中的每一个字分开,分别对照“航点表”中简称,根据简称识别“国际”字段是否为“true”如果为“true”,则为国际(勾选国际),并将“航点表”中“城市”字段的内容填入“国际名”的文本框中。 2自动识别是否是过.夜航班,如果是自动勾选“过.夜”并将过.夜城市自动填入“过.夜名”的文本框中 判定方式:将“航段”文本框中的最后一个字(即右边第一个字)提取,对照“航点表”中简称查询,“过.夜”字段是否为“true”,如果是则为过.夜航班(勾选过.夜),并将“航点表”中“城市”字段的内容填入“过.夜名”的文本框中。 3国际和过.夜同时判断。
目前该窗口中“afterload”事件有如下代码: Dim r As Row = Tables("出库窗口_航班查询表").current e.form.controls("日期").value = r("日期") Dim lyr As WinForm.TextBox = e.Form.Controls("领取人") Dim hps As DataRow = DataTables("红皮书").find("姓名=\'" & lyr.Value & "\'") Dim ps As DataRow = DataTables("黄皮书").find("姓名=\'" & lyr.Value & "\'")
请问如何增加。。如有改动,请老师予以标红。。。
[此贴子已经被作者于2017/9/1 22:26:49编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/9/1 22:34:00 -- 请上传实例测试 |
-- 作者:轩辕绝 -- 发布时间:2017/9/1 22:42:00 --
[此贴子已经被作者于2017/9/1 23:23:27编辑过]
|
-- 作者:轩辕绝 -- 发布时间:2017/9/1 22:43:00 -- 已经上传,,
以下是引用有点蓝在2017/9/1 22:34:00的发言:
请上传实例测试 |
-- 作者:有点蓝 -- 发布时间:2017/9/1 22:59:00 -- 参考: Dim str As String = "郑晋郑春郑" \'r("航段") Dim lst As new List(of String) For i As Integer = 0 To str.Length - 1 If lst.Contains(str(i)) = False Then lst.Add(str(i)) Next Dim cbostring As String = DataTables("航点表").GetComboListString("城市","简称 in (\'" & String.Join("\',\'",lst.ToArray) & "\') and 国际 = true") If cbostring > "" Then e.form.controls("国际").Checked = True e.form.controls("国际名").Text = cbostring End If |
-- 作者:轩辕绝 -- 发布时间:2017/9/1 23:05:00 -- 老师,代码写在哪里?
afterload么?
还有代码,有些看不懂,能否注释一下。。???
以下是引用有点蓝在2017/9/1 22:59:00的发言:
参考: Dim str As String = "郑晋郑春郑" \'r("航段")
Dim lst As new List(of String)
For i As Integer = 0 To str.Length - 1
If lst.Contains(str(i)) = False Then lst.Add(str(i))
Next
Dim cbostring As String = DataTables("航点表").GetComboListString("城市","简称 in (\'" & String.Join("\',\'",lst.ToArray) & "\') and 国际 = true")
If cbostring > "" Then
e.form.controls("国际").Checked = True
e.form.controls("国际名").Text = cbostring
End If |
-- 作者:有点蓝 -- 发布时间:2017/9/1 23:12:00 -- afterload,或者航段控件赋值后 Dim str As String = r("航段") Dim lst As new List(of String) For i As Integer = 0 To str.Length - 1 If lst.Contains(str(i)) = False Then lst.Add(str(i)) ‘城市简称拆分到集合’ Next msgbox("简称 in (\'" & String.Join("\',\'",lst.ToArray) & "\') and 国际 = true") 弹出内容自己看效果 Dim cbostring As String = DataTables("航点表").GetComboListString("城市","简称 in (\'" & String.Join("\',\'",lst.ToArray) & "\') and 国际 = true") If cbostring > "" Then msgbox(cbostring) e.form.controls("国际").Checked = True e.form.controls("国际名").Text = cbostring End If |
-- 作者:轩辕绝 -- 发布时间:2017/9/2 23:28:00 -- 老师,这个是国际航班判定的。
请问老师过.夜的该怎么判定呢?
以下是引用有点蓝在2017/9/1 23:12:00的发言:
afterload,或者航段控件赋值后 Dim str As String = r("航段")
Dim lst As new List(of String)
For i As Integer = 0 To str.Length - 1
If lst.Contains(str(i)) = False Then lst.Add(str(i)) ‘城市简称拆分到集合’
Next
msgbox("简称 in (\'" & String.Join("\',\'",lst.ToArray) & "\') and 国际 = true") 弹出内容自己看效果
Dim cbostring As String = DataTables("航点表").GetComboListString("城市","简称 in (\'" & String.Join("\',\'",lst.ToArray) & "\') and 国际 = true")
If cbostring > "" Then
msgbox(cbostring)
e.form.controls("国际").Checked = True
e.form.controls("国际名").Text = cbostring
End If
|
-- 作者:有点甜 -- 发布时间:2017/9/3 11:59:00 -- 同样这样查,如
Dim abc As String = DataTables("航点表").GetComboListString("城市","简称 in (\'" & String.Join("\',\'",lst.ToArray) & "\') and 过.夜 = true") |