Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:记录窗口数据与Table不一致

1楼
1234567 发表于:2025/3/6 12:39:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目8.zip


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2025/3/6 12:39:36编辑过]
2楼
有点蓝 发表于:2025/3/6 13:24:00
我测试没有问题哦。删除bin,重启项目试试


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

3楼
1234567 发表于:2025/3/6 13:36:00

打开窗口1

Tables("窗口1_Table05").第一列显示1,RecordGrid1的第一列也显示1,

当我把RecordGrid1的第一列数据修改为2后,Tables("窗口1_Table05").第一列的数据仍旧是1.

然后我把Tables("窗口1_Table05").第一列数据改为9,RecordGrid1的第一列也显示9,Tables("窗口1_Table05").第一列数据显示1.

4楼
有点蓝 发表于:2025/3/6 13:45:00
自己在表事件写代码把第一列值控制永远设置为1不知道么
5楼
1234567 发表于:2025/3/6 13:49:00

表事件代码有意写成固定值。

实际代码:

Dim dt As DataTable = e.DataTable
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name '020402/锯削/棒料  
    Case "工步代码", "零件数量", "直径", "直径高度", "工时定额", "加工单价"
        If dr("工步代码") = "020402" Then
            For Each c As DataCol In dt.DataCols
                If c.name <> "工艺单编号" AndAlso c.name <> "工步代码" AndAlso c.name <> "零件数量" AndAlso c.name <> "直径" AndAlso c.name <> "直径高度" AndAlso c.name <> "工时定额"AndAlso c.name <> "加工单价" Then
                    dr(c) = Nothing
                End If
            Next
            Dim dr1 As DataRow = DataTables("工时定额").Find("工步代码='" & e.DataRow("工步代码") & "' and 最小直径<='" & e.DataRow("直径") & "' and 最大直径>'" & e.DataRow("直径") & "'")
            If dr1 IsNot Nothing Then
                If dr.IsNull("直径") Then
                    dr("工时定额") = Nothing
                Else
                    dr("工时定额") = dr1("工时定额")
                    dr("加工单价") = dr1("加工单价")
                End If
            Else
                If dr.IsNull("直径") Then
                    dr("工时定额") = Nothing
                Else
                    MessageBox.Show("钻孔直径范围1mm-200mm,输入值不在设定范围!")
                    dr("直径") = Nothing
                    dr("工时定额") = Nothing
                End If
            End If
            dr("加工阶段") = "2"
            dr("工序") = "锯削"
            dr("工步") = "棒料"
            dr("估工") = dr("工时定额") * dr("零件数量")
            dr("理论加工费") = dr("估工") * dr("加工单价")
            dr("工步内容") = "锯" & dr("工步") & ",尺寸φ" & dr("直径") & "×" & dr("直径高度") & ",零件数量" & dr("零件数量") & "件。"
        End If
End Select

6楼
1234567 发表于:2025/3/6 13:55:00

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
7楼
有点蓝 发表于:2025/3/6 15:07:00
请上传实例测试
8楼
1234567 发表于:2025/3/6 15:52:00

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看
9楼
1234567 发表于:2025/3/6 15:53:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目8.zip

10楼
有点蓝 发表于:2025/3/6 16:36:00
这个用法不合理,如果是有其它列自动计算的,应该锁定禁止这个列进行编辑。或者到datacolchanging事件使用e.cancel=true取消不合理的输入
共11 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 4 queries.