以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 下拉窗口中查询表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=183908) |
-- 作者:michl -- 发布时间:2022/11/18 14:31:00 -- 下拉窗口中查询表 打开下拉列表时偶尔会出现错误提示,意思好像是datatable重复了。但是看帮助文件中写的sqltable类型生成的datatable是会自动删除的啊,是什么原因呢
|
-- 作者:有点蓝 -- 发布时间:2022/11/18 14:51:00 -- 下拉窗口所有事件代码发上来看看 |
-- 作者:michl -- 发布时间:2022/11/18 15:30:00 -- DropDownOpened: Dim txt As String = e.Form.DropDownBox.Text Dim tbl As Table = Tables("出库单下拉_Table1") If txt = "" Then tbl.Filter = "" Else txt = "\'%" & txt & "%\'" tbl.Filter = "商品名称 Like " & txt End If e.Form.DropDownBox.Select() If Tables("出库单下拉_Table1").Rows.Count > 0 Then Tables("出库单下拉_Table1").Select(0, 0) \'选定列表中第一项 End If DropDownClosed: If e.Selected Then Dim ckmx As Table = Tables("出库单.出库明细表") Dim tbl As Table = Tables("出库单下拉_Table1") If tbl.Current IsNot Nothing Then e.Form.DropDownBox.Value = tbl.Current("商品名称") ckmx.Current("商品代码") = tbl.Current("商品代码") ckmx.Current("型号") = tbl.Current("型号") ckmx.Current("单位") = tbl.Current("单位") ckmx.Current("类别") = tbl.Current("类别") If e.Form.DropTable IsNot Nothing Then e.Form.DropTable.FinishEditing() Else e.Form.DropDownBox.WriteValue() End If \'如果品号不为空则选中数量列,否则重复行取消后也会改变焦点 If ckmx.Current IsNot Nothing AndAlso ckmx.Current.IsNull("商品名称") = False Then ckmx.Select(ckmx.Current.Index, ckmx.Cols("数量").Index) End If End If End If |
-- 作者:有点蓝 -- 发布时间:2022/11/18 15:42:00 -- 窗口表事件代码呢?项目currenttablechanged有没有代码 |
-- 作者:michl -- 发布时间:2022/11/18 16:01:00 -- 以下是引用有点蓝在2022/11/18 15:42:00的发言: 窗口表事件代码呢?项目currenttablechanged有没有代码 只有一个DoubleClick: e.Form.DropDownBox.CloseDropDown()
|
-- 作者:有点蓝 -- 发布时间:2022/11/18 16:26:00 -- 看不出什么问题,请提供实例测试 |
-- 作者:michl -- 发布时间:2022/11/18 17:28:00 -- 报错后点完确定表还能生成,表和窗口仍然能用。 就是很少出现,有时测试点半天都不弹错,我再查查 |