Foxtable(狐表)用户栏目专家坐堂 → 设备快速选择


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

主题:设备快速选择

美女呀,离线,留言给我吧!
zhangning
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
设备快速选择  发帖心情 Post By:2017/5/2 14:21:00 [只看该作者]

在“工程和工时”表中,列出了 产品的工序(工程)是在哪些机器上加工的(比如MM产品MM工序是在A1或A2机器上生产的)。
在“加工排产”表中,已知工序,如何自工序(工程名)后面的“调度设备”里的 的列属性里,过滤出“工程和工时”里的那几种设备,
(比如在MM产品的MM工序的“调度设备”,单击时,会出现列项目选择(A1/A2),可以单击选A1或A2,
请问老师,如何达到这种效果?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:精益制造管理系统.rar

管理员 qdrA001

谢谢老师!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/2 15:12:00 [只看该作者]

prepareEdit事件

 

If e.Col.name Like "*调度设备*" Then
    Dim str As String = ""
    Dim filter As String = "部品id = '" & e.Row("部品id") & "'"
    Dim idx As String = e.Col.Name.Replace("第", "").Replace("序_调度设备", "")
    Dim fdr As DataRow = DataTables("工程和工时").Find(filter & " and 工序序号 = '" & idx & "'")
    If fdr IsNot Nothing Then
        For Each dc As DataCol In DataTables("工程和工时").DataCols
            If dc.name.StartsWith("使用机器") AndAlso fdr.IsNull(dc.name) = False Then
                str &= fdr(dc.name) & "|"
            End If
        Next
    End If
    e.Col.ComboList = str
End If


 回到顶部
美女呀,离线,留言给我吧!
zhangning
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2017/5/2 15:47:00 [只看该作者]

谢谢老师,我点击了一下有设备的工序,没反应,不知问题出在哪里?
请老师帮看看,谢谢!


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/2 15:55:00 [只看该作者]

以下是引用zhangning在2017/5/2 15:47:00的发言:
谢谢老师,我点击了一下有设备的工序,没反应,不知问题出在哪里?
请老师帮看看,谢谢!

 

请看懂2楼代码,根据你的 部品id和工程序号 查找对应的值的。必须匹配才有值。

 

也有可能理解错了你的意思,请截图举例说明你要的功能


 回到顶部
美女呀,离线,留言给我吧!
zhangning
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2017/5/2 16:28:00 [只看该作者]

Dim idx As String = e.Col.Name.Replace("第", "").Replace("序_调度设备", "")
    Dim fdr As DataRow = DataTables("工程和工时").Find(filter & " and 工序序号 = '" & idx & "'")
老师,这两句我看不明白,麻烦老师给解释一下吧,谢谢!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/2 16:32:00 [只看该作者]

为了取出序号的值,比如 1、2、3、4这样的值

Dim idx As String = e.Col.Name.Replace("第", "").Replace("序_调度设备", "")

 

去工程工时表,查找符合条件的值 "部品id = '" & e.Row("部品id") & "' and 工序序号 = '" & idx & "'"

Dim fdr As DataRow = DataTables("工程和工时").Find(filter & " and 工序序号 = '" & idx & "'")


 回到顶部
美女呀,离线,留言给我吧!
zhangning
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2017/5/3 11:27:00 [只看该作者]

解决了,谢谢老师

 回到顶部
美女呀,离线,留言给我吧!
zhangning
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2017/5/3 11:34:00 [只看该作者]

另有一个问题,还要麻烦老师:如在“工程和工时”表中,
如何按照相同“部品ID",给”工序序号“列自动排号
效果如图
图片点击可在新窗口打开查看此主题相关图片如下:1123.png
图片点击可在新窗口打开查看

请老师帮帮忙,谢谢!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/3 11:39:00 [只看该作者]

参考

 

Dim dt As DataTable = DataTables("工程和工时")
For Each id As String In dt.GetValues("部品id")
    Dim drs As List(Of DataRow) = dt.Select("部品id = '" & id & "'", "_sortkey")
    For i As Integer = 0 To drs.count-1
        drs(i)("工序序号") = i + 1
    Next
Next


 回到顶部
美女呀,离线,留言给我吧!
zhangning
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2017/5/3 13:08:00 [只看该作者]

老师,这三句不明白
Dim drs As List(Of DataRow) = dt.Select("部品id = '" & id & "'", "_sortkey")
    For i As Integer = 0 To drs.count-1
        drs(i)("工序序号") = i + 1
特别是最后一句

代码放在datacolchanged中,没有反应,是不是我放的位置不对?


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