以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  显示表自动刷新  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110202)

--  作者:13868960029
--  发布时间:2017/11/28 20:51:00
--  显示表自动刷新
老师,,通过录入表加载树进行选择名称录入数据,,要求显示表能刷新录入的最后一条信息,,怎样写代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:企业电站0.table


--  作者:有点蓝
--  发布时间:2017/11/28 22:11:00
--  
电站录入这段代码改改

Select Case e.DataCol.Name
    Case "日发电量","日期","名称"
        If e.DataRow.IsNull("名称") = False Then
            Dim dr As DataRow =DataTables("电站").Find("名称=\'" & e.DataRow("名称")  & "\'")
            If dr Is Nothing Then
                dr = DataTables("电站").AddNew()
                dr("名称") = e.DataRow("名称")
            End If
            DataTables("电站").DataCols("名称").RaiseDataColChanged(dr)
            Dim d As Date = e.DataRow("日期")
            d = new Date(d.Year,d.Month,1)
            dr = DataTables("电站月读数").Find("名称=\'" & e.DataRow("名称")  & "\' and 月期=#" & d & "#")
            If dr Is Nothing Then
                dr = DataTables("电站月读数").AddNew()
                dr("名称") = e.DataRow("名称")
                dr("月期") = d
            End If
            DataTables("电站月读数").DataCols("名称").RaiseDataColChanged(dr)
        End If
        If e.DataCol.Name = "名称" AndAlso e.OldValue > "" Then
            Dim dr As DataRow =DataTables("电站").Find("名称=\'" & e.OldValue  & "\'")
            If dr IsNot Nothing Then
                DataTables("电站").DataCols("名称").RaiseDataColChanged(dr)
            End If
            Dim d As Date = e.DataRow("日期")
            d = new Date(d.Year,d.Month,1)
            dr = DataTables("电站月读数").Find("名称=\'" & e.OldValue   & "\' and 月期=#" & d & "#")
            If dr IsNot Nothing Then
                DataTables("电站月读数").DataCols("名称").RaiseDataColChanged(dr)
            End If
        End If
End Select

然后重置名称列

--  作者:13868960029
--  发布时间:2017/11/30 11:53:00
--  
老师好  我在电站录入写入了这段代码还是没有执行,,电站月读数表中还是会增加空白行
[此贴子已经被作者于2017/11/30 11:55:20编辑过]

--  作者:13868960029
--  发布时间:2017/11/30 11:58:00
--  
另外  我这段代码是不是写的不对 ,怎么不能执行,跟随名称变化呢,,    Select Case e.DataCol.Name
        Case "名称","月期"
            Dim dr As DataRow = e.DataRow
            Dim pr As DataRow
            If dr.IsNull("名称") OrElse dr.IsNull("月期")  Then
                dr("采集月电量_设备1") = Nothing
                dr("采集月电量_设备2") = Nothing
                dr("采集月电量_设备3") = Nothing
            Else
                Dim filter As String
                filter = "名称 = \'" & dr("名称") & "\' And 月期 = \'" & dr("月期") & "\'"
                pr = DataTables("电站月读数").Find(filter)
                If pr IsNot Nothing Then
                    dr("采集月电量_设备1") = pr("采集月电量_设备1")
                    dr("采集月电量_设备2") = pr("采集月电量_设备2")
                    dr("采集月电量_设备3") = pr("采集月电量_设备3")
                End If
            End If
    End Select

--  作者:有点甜
--  发布时间:2017/11/30 12:06:00
--  

1、没看懂你要做什么。请说明:你做什么操作以后,在哪里要达到什么什么效果。

 

    你要这个?http://www.foxtable.com/webhelp/scr/2490.htm

 

2、加入msgbox,看看是否进入执行了你4楼的代码。


--  作者:13868960029
--  发布时间:2017/11/30 12:07:00
--  
图片点击可在新窗口打开查看
--  作者:有点甜
--  发布时间:2017/11/30 12:13:00
--  
请正确上传图片。
--  作者:有点蓝
--  发布时间:2017/11/30 12:15:00
--  
先把多余的空行删除,改代码后重置一下电站录入名称列

Select Case e.DataCol.Name
    Case "日发电量","日期","名称"
        If e.DataRow.IsNull("名称") = False Then
            Dim dr As DataRow =DataTables("电站").Find("名称=\'" & e.DataRow("名称")  & "\'")
            If dr Is Nothing Then
                dr = DataTables("电站").AddNew()
                dr("名称") = e.DataRow("名称")
            End If
            DataTables("电站").DataCols("名称").RaiseDataColChanged(dr)
            If e.DataRow.IsNull("日期") = False
                Dim d As Date = e.DataRow("日期")
                d = new Date(d.Year,d.Month,1)
                dr = DataTables("电站月读数").Find("名称=\'" & e.DataRow("名称")  & "\' and 月期=#" & d & "#")
                If dr Is Nothing Then
                    dr = DataTables("电站月读数").AddNew()
                    dr("名称") = e.DataRow("名称")
                    dr("月期") = d
                End If
                DataTables("电站月读数").DataCols("名称").RaiseDataColChanged(dr)
            End If
        End If
        If e.DataCol.Name = "名称" AndAlso e.OldValue > "" Then
            Dim dr As DataRow =DataTables("电站").Find("名称=\'" & e.OldValue  & "\'")
            If dr IsNot Nothing Then
                DataTables("电站").DataCols("名称").RaiseDataColChanged(dr)
            End If
            Dim d As Date = e.DataRow("日期")
            d = new Date(d.Year,d.Month,1)
            dr = DataTables("电站月读数").Find("名称=\'" & e.OldValue   & "\' and 月期=#" & d & "#")
            If dr IsNot Nothing Then
                DataTables("电站月读数").DataCols("名称").RaiseDataColChanged(dr)
            End If
        End If
End Select