以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 新手学习 关于下拉框的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=30418) |
||||
-- 作者:sdykjrc -- 发布时间:2013/3/27 15:26:00 -- 新手学习 关于下拉框的问题 想实现 这样一个功能。 下拉框 有2项供选择 金属材料 设备 当选择金属材料的时候希望生成一个新的 下拉框 当选择设备的时候希望重新生成一个新的下拉框 下面是在StartEdit事件添入的代码。 Dim r As Row = Tables("材料出库明细表").Current If e.Col.Name = "物资名称" And r("物资名称")="金属材料" Then e.Col.Combolist = DataTables("金属基本资料").GetComboListString("金属基本资料", "[材料名称] =\'" & e.Row("物资名称") & "\'") End If If e.Col.Name = "物资名称" And r("物资名称")="设备" Then e.Col.Combolist = DataTables("设备基本资料").GetComboListString("设备基本资料", "[设备名称] =\'" & e.Row("物资名称") & "\'") End If |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/3/27 15:56:00 -- 事件用错了,应该用PrepareEdit事件,而不是StartEdit事件 |
||||
-- 作者:sdykjrc -- 发布时间:2013/3/27 16:34:00 -- 狐爸 你看我的想法对不对 1》AfterOpenProject事件加入了下面代码
Tables("材料出库明细表").Cols("物资名称").Combolist = DataTables("金属基本资料").GetComboListString("材料名称")
Tables("材料出库明细表").Cols("物资名称").Combolist = DataTables("设备基本资料").GetComboListString("设备名称") 2》出库材料单里面设置 设置了列属性
金属材料|设备
3》StartEdit事件添入的代码
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/3/27 16:43:00 -- 哈,二楼不是说了吗,用PrepareEdit事件。
另外事件代码,尽量用e参数,例如e.Table
代码改为这样清晰点:
Dim r As Row = e.Row |
||||
-- 作者:sdykjrc -- 发布时间:2013/3/28 10:56:00 -- 狐爸 还是遇到一个问题 当我选择 设备后 下拉框 不会立即更新。必须重新点击 下拉框 才更新。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/3/28 11:05:00 -- 做个简单例子发上来,然后说明问题。 |
||||
-- 作者:sdykjrc -- 发布时间:2013/3/28 14:38:00 -- 出库明细表 录入数据 物资名称列 下拉框部能及时更新
|