Foxtable(狐表)用户栏目专家坐堂 → 自动输入的问题


  共有2883人关注过本帖树形打印复制链接

主题:自动输入的问题

帅哥哟,离线,有人找我吗?
edisontsui
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
自动输入的问题  发帖心情 Post By:2017/12/15 17:17:00 [只看该作者]

Select Case e.DataCol.Name
    Case
"品名","型号","规格"

       
Dim Filter As String = "[产品编号] = '" & e.DataRow("编号") & "'"
       
Dim drs As List(Of DataRow) = DataTables("订单").Select(Filter)
        For
Each dr As DataRow In
drs
            dr(e.
DataCol.Name) = e.DataRow(e.DataCol.Name)
        Next
End
Select

以上是“订单”表里面自动输入“产品”表之数据的代码。如果我还有一个“出入库”表,也要在“产品”表的"品名""型号""规格"变化之后,能够在“出入库”表的“产品名称”、“产品型号”和“产品规格”里面自动跟着变化,应该怎么改写这段代号呢?谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/15 17:22:00 [只看该作者]

Select Case e.DataCol.Name
    Case "品名","型号","规格"
        Dim Filter As String = "[产品编号] = '" & e.DataRow("编号") & "'"
        Dim drs As List(Of DataRow) = DataTables("订单").Select(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        Next
        drs = DataTables("出入库").Select(Filter)
        For Each dr As DataRow In drs
            dr("产品名称") = e.DataRow("品名")
            dr("产品型号") = e.DataRow("型号")
            dr("产品规格") = e.DataRow("规格")
        Next
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2017/12/16 15:10:00 [只看该作者]

Select Case e.DataCol.Name 
    Case "物料名称"
        Dim Filter As String = "[物料编号] = '" & e.DataRow("物料编号") & "'"
        Dim drs As List(Of DataRow) = DataTables("装配产品").Select(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) 
        Next
        drs = DataTables("装配清单").Select(Filter)        
            For Each dr As DataRow In drs
            dr("产品名称") = e.DataRow("物料名称")
        Next

End Select

我的代码是上面那段。其中“装配清单”和“装配产品”两个数据表均要随“物料字典”里面“物料名称”的改变而自动更新。

“装配产品”这个数据表的数据列有:物料编号、物料名称
“装配清单”这个数据表的数据列有:产品代号、产品名称
“物料字典”这个数据表的数据列有:物料编号、物料名称

但是上述代码运行时出现如下错误:

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.3.18.1
错误所在事件:表,物料字典,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到列 [物料编号]。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2017/12/16 15:27:00 [只看该作者]

我找到原因了,已经解决了。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/8/17 17:28:00 [只看该作者]

我在按下enter键时,会增加一个空行,但是我们希望此新增加行的某列数据能够自动重复上一行的某列数据,该在哪里写入什么代码才能实现?比如,我按下enter键并一行增加时,其“订单编号”这列能够自动输入跟上一行一样的“订单编号”。谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/17 17:50:00 [只看该作者]

datarowadded事件

Dim idx As Integer = Tables(e.DataTable.Name).FindRow(e.DataRow)
If idx > 0 Then
    e.DataRow("订单编号") = Tables(e.DataTable.Name).Rows(idx - 1)("订单编号")
End If

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/8/18 11:38:00 [只看该作者]

谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/8/18 13:26:00 [只看该作者]

datarowadded事件

Dim idx As Integer = Tables(e.DataTable.Name).FindRow(e.DataRow)
If idx > 0 Then
    e.DataRow("订单编号") = Tables(e.DataTable.Name).Rows(idx - 1)("订单编号")
End If

如上代码里面,如果我想加多一个功能,即每增加一个空白行,就能够自动输入“行号”,凡是同一个订单编号,其行号依次从1、2、3、4...编下去,不允许重复。请教代码如何谢。谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/18 14:15:00 [只看该作者]

Dim idx As Integer = Tables(e.DataTable.Name).FindRow(e.DataRow)
If idx > 0 Then
    e.DataRow("订单编号") = Tables(e.DataTable.Name).Rows(idx - 1)("订单编号")
e.DataRow("行号") = e.DataTable.compute("max(行号)","订单编号='" & e.DataRow("订单编号")  & "'") + 1
End If

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/8/18 15:59:00 [只看该作者]

谢谢。

 回到顶部
总数 20 1 2 下一页