以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]列新增数据时录入在已存在行的空白单元格里  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=139776)

--  作者:湛江智
--  发布时间:2019/8/21 12:23:00
--  [求助]列新增数据时录入在已存在行的空白单元格里
列:横向列名汇总 新增数据时不想新增行,想实现录入在已存的空白单元格里,下面代码怎么实现? 求助

Select Case e.DataCol.name
    Case "参照"
        If e.DataRow.IsNull("参照") = False Then
            Dim fdr As DataRow = DataTables("表A").Find("横向列名汇总 = \'" & e.DataRow("参照") & "\' ")
            If fdr Is Nothing Then
                Dim ndr As DataRow = DataTables("表A").addnew
                ndr("横向列名汇总") = e.DataRow("参照")
            End If
        End If
End Select

--  作者:有点蓝
--  发布时间:2019/8/21 14:22:00
--  
代码没有问题,只是信息量太少,看不出想要做什么
--  作者:湛江智
--  发布时间:2019/8/21 14:45:00
--  回复:(有点蓝)代码没有问题,只是信息量太少,看不...
 表A 列:横向列名汇总 已存在10行空白的,假如新增小于10个值,就不用新增行录入;假如超过10个值要录入,再新增行录入
[此贴子已经被作者于2019/8/21 14:45:37编辑过]

--  作者:有点蓝
--  发布时间:2019/8/21 15:08:00
--  
还是没看懂,截图或者举例说明
--  作者:湛江智
--  发布时间:2019/8/21 15:40:00
--  回复:(有点蓝)还是没看懂,截图或者举例说明

如下图,空白的10个单元格,先录入

超过10个值要录入才新增行

 


图片点击可在新窗口打开查看此主题相关图片如下:空白的10行先录入.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2019/8/21 15:50:00
--  
Select Case e.DataCol.name
    Case "参照"
        If e.DataRow.IsNull("参照") = False Then
            Dim fdr As DataRow = DataTables("表A").Find("横向列名汇总 is null ")
            If fdr Is Nothing Then
                fdr = DataTables("表A").addnew
            End If
                fdr ("横向列名汇总") = e.DataRow("参照")
        End If
End Select
--  作者:湛江智
--  发布时间:2019/8/22 16:21:00
--  回复:(有点蓝)Select Case e.DataCol.name &n...
 如果只是窗口筛选出的行,不是整个数据表DataTable,上楼代码怎么修改呢?
--  作者:有点蓝
--  发布时间:2019/8/22 16:28:00
--  

Select Case e.DataCol.name
    Case "参照"
        If e.DataRow.IsNull("参照") = False Then
            Dim idx As Integer =  Tables("表A").FindRow("横向列名汇总 is null")
            Dim fdr As DataRow
            If idx = -1 Then
                fdr = DataTables("表A").addnew
            Else
                fdr = Tables("表A").Rows(idx).DataRow
            End If
            fdr ("横向列名汇总") = e.DataRow("参照")
        End If
End Select