以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  GetComboListString 的运用  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124881)

--  作者:edisontsui
--  发布时间:2018/9/15 14:11:00
--  GetComboListString 的运用
If e.IsFocusCell Then
    If e.Col.Name = "批号" Then
        e.Col.Combolist = DataTables("批号表").GetComboListString("批号", "[物料编号] =  \'" & e.Row("物料编号") & "\'")
    End If
End If

以上代码是在“出入库”之prepareedit里面用来显示“批号表”里面的“批号”的。现在我希望把“批号表”里面的“库存数量”也同时显示出来,方便看某个批号还有多少库存数量,代码该如何修改(希望将批号和库存数量用一个“-”把它们分割开来)?谢谢。

--  作者:有点蓝
--  发布时间:2018/9/15 14:54:00
--  
If e.IsFocusCell Then
    If e.Col.Name = "批号" Then
        e.Col.Combolist = DataTables("批号表").GetComboListString("批号+\'-\' + 库存数量", "[物料编号] =  \'" & e.Row("物料编号") & "\'")
    End If
End If

--  作者:edisontsui
--  发布时间:2018/9/15 15:48:00
--  
.NET Framework 版本:2.0.50727.8793
Foxtable 版本:2017.3.18.1
错误所在事件:表,出入库,PrepareEdit
详细错误信息:
调用的目标发生了异常。
无法找到列 批号 + \'-\' + 库存数量。

按照你给的代码,会出现上述警告。

--  作者:有点蓝
--  发布时间:2018/9/15 16:04:00
--  
e.Col.Combolist = DataTables("批号表").SqlGetComboListString("批号+\'-\' + 库存数量", "[物料编号] =  \'" & e.Row("物料编号") & "\'")
--  作者:edisontsui
--  发布时间:2018/9/15 17:19:00
--  
批号表里面的批号是20180901,库存数量是3360,我希望的结果是"20180901-3360"这个字符串,而实际的结果是20177541(即20180901-3360的计算结果),这不是我要求的结果。要如何修改代码?
--  作者:有点甜
--  发布时间:2018/9/16 10:58:00
--  

方法一:批号表加入一列表达式列,把批号和库存数量合并起来,如公式 批号+\'-\' + 库存数量

 

然后,代码改成

 

If e.IsFocusCell Then
    If e.Col.Name = "批号" Then
        e.Col.Combolist = DataTables("批号表").GetComboListString("表达式列", "[物料编号] =  \'" & e.Row("物料编号") & "\'")
    End If
End If
 
方法二:如4楼那样写代码,代码肯定没问题的,如果有问题,实例发上来测试。

--  作者:edisontsui
--  发布时间:2018/9/17 15:04:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:getcombolist的运用.zip


请看我们的测试结果。

--  作者:有点甜
--  发布时间:2018/9/17 15:15:00
--  
实例发上来测试。不可能的。
--  作者:edisontsui
--  发布时间:2018/9/17 15:58:00
--  
我可以用QQ传吗?这里很难上传文件。
--  作者:有点甜
--  发布时间:2018/9/17 16:03:00
--  
以下是引用edisontsui在2018/9/17 15:58:00的发言:
我可以用QQ传吗?这里很难上传文件。

 

单独做一个新的项目发上来测试,不要整个项目发上来啊。