Foxtable(狐表)用戶欄目專家坐堂 → 使用記錄窗口輸入新數據


  共有381人關注過本帖樹形打印復制鏈接

主題:使用記錄窗口輸入新數據

帥哥,在線噢!
有點藍
  11樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:超級版主 帖子:85402 積分:433373 威望:0 精華:9 注冊:2015/6/24 9:21:00
  發帖心情 Post By:2022/4/11 17:16:00 [只看該作者]

這種到datacolchanged事件處理

Select Case e.dataCol.name
    Case "項目名稱"
        if DataTables("合同信息").find("項目名稱 = '" & e.dataRow("項目名稱")  & "'") is nothing then
e.dataRow("列1") = nothing 
e.dataRow("列2") = nothing 
……
        End If
End Select

 回到頂部
美女呀,離線,留言給我吧!
Phoebe菲比
  12樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:幼狐 帖子:135 積分:871 威望:0 精華:0 注冊:2021/8/17 15:39:00
  發帖心情 Post By:2022/4/11 17:18:00 [只看該作者]

這個是我在DataColChanged事件中寫好的代碼。

Dim dr1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同名稱"
        Dim dr2 As DataRow = DataTables("合同信息").SQLFind("合同名稱 = '" & e.NewValue & "'")
        If e.NewValue Is Nothing Then '如果新值是空白
            e.DataRow.Reject
            'dr1 = Nothing '那么清空當前行所有列的內容
        Else
            '否則在項目信息表查找同名行,將找到的行賦值給變量dr
            If dr2 IsNot Nothing Then '如果找到了同名的產品行,也就是dr不是Nothing
                dr1("付款單位") = dr2("甲方單位_公司名稱")
                dr1("收款單位") = dr2("乙方單位_公司名稱")  
            End If
        End If
    
End Select

 回到頂部
帥哥,在線噢!
有點藍
  13樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:超級版主 帖子:85402 積分:433373 威望:0 精華:9 注冊:2015/6/24 9:21:00
  發帖心情 Post By:2022/4/11 17:25:00 [只看該作者]

給指定列設置空值

e.dataRow("列1") = nothing 

不要使用e.DataRow.Reject

 回到頂部
美女呀,離線,留言給我吧!
Phoebe菲比
  14樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:幼狐 帖子:135 積分:871 威望:0 精華:0 注冊:2021/8/17 15:39:00
  發帖心情 Post By:2022/4/11 17:34:00 [只看該作者]

看來我還是要一個個設置指定列為空值,而不能整行清除?

 回到頂部
美女呀,離線,留言給我吧!
Phoebe菲比
  15樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:幼狐 帖子:135 積分:871 威望:0 精華:0 注冊:2021/8/17 15:39:00
  發帖心情 Post By:2022/4/11 20:29:00 [只看該作者]

我想試試這樣寫行不行,用一個遍歷的代碼。

 Case "合同名稱"
        Dim dr2 As DataRow = DataTables("合同信息").SQLFind("合同名稱 = '" & e.NewValue & "'")
        If dr2 Is Nothing Then '如果新值是空白
            Dim sts As String = {"付款單位","收款單位","合同金額","合同編號","稅率","收款_開戶名","收款_銀行賬號","收款_開戶銀行","收款_銀行行號"}
            For Each st As String In sts
                Dim r As Row = Tables("付款記錄").Current
                r(st) = Nothing
            Next
        Else         '否則在項目信息表查找同名行,將找到的行賦值給變量dr,如果找到了同名的產品行,也就是dr不是Nothing
            dr1("付款單位") = dr2("甲方單位_公司名稱")
            dr1("收款單位") = dr2("乙方單位_公司名稱")
            dr1("合同金額") = dr2("合同金額")
            dr1("合同編號") = dr2("合同編號")
            dr1("稅率") = dr2("稅率")
            dr1("收款_開戶名") = dr2("開戶名")
            dr1("收款_銀行賬號") = dr2("銀行賬號")
            dr1("收款_開戶銀行") = dr2("開戶銀行")
            dr1("收款_銀行行號") = dr2("行號")
        End If

圖片點擊可在新窗口打開查看此主題相關圖片如下:微信圖片_20220411202120.png
圖片點擊可在新窗口打開查看


 回到頂部
帥哥,在線噢!
有點藍
  16樓 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:超級版主 帖子:85402 積分:433373 威望:0 精華:9 注冊:2015/6/24 9:21:00
  發帖心情 Post By:2022/4/11 20:51:00 [只看該作者]

 Case "合同名稱"
        Dim dr2 As DataRow = DataTables("合同信息").SQLFind("合同名稱 = '" & e.NewValue & "'")
        If dr2 Is Nothing Then '如果新值是空白
            Dim sts() As String = {"付款單位","收款單位","合同金額","合同編號","稅率","收款_開戶名","收款_銀行賬號","收款_開戶銀行","收款_銀行行號"}
            For Each st As String In sts
                e.datarow(st) = Nothing
            Next

 回到頂部
總數 16 上一頁 1 2
国产精品边做奶水狂喷无码