以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]复制 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87150) |
||||
-- 作者:江南小城 -- 发布时间:2016/7/4 22:16:00 -- [求助]复制 老师好
|
||||
-- 作者:大红袍 -- 发布时间:2016/7/4 22:22:00 -- Select Case e.DataCol.name |
||||
-- 作者:江南小城 -- 发布时间:2016/7/4 22:51:00 -- ![]() ![]() |
||||
-- 作者:大红袍 -- 发布时间:2016/7/4 23:02:00 -- Select Case e.DataCol.name Case "客户ID","客户","客户分类" If e.DataRow.IsNull("客户") = False AndAlso e.DataRow.IsNull("客户分类") = False AndAlso e.DataRow.Isnull("客户id") = False Then If e.DataRow("客户分类") = "销售" OrElse e.DataRow("客户分类") = "采购" Then Dim dr As DataRow = DataTables("客户供应商数据汇总").Find("客户 = \'" & e.DataRow("客户") & "\' and 客户分类 = \'" & e.DataRow("客户分类") & "\'") If dr Is Nothing Then dr = DataTables("客户供应商数据汇总").AddNew dr("客户") = e.DataRow("客户") dr("客户分类") = e.DataRow("客户分类") End If dr("客户ID") = e.DataRow("客户ID") End If End If End Select |
||||
-- 作者:江南小城 -- 发布时间:2016/7/6 12:47:00 -- Select Case e.DataCol.Name Case "姓名" e.DataRow("字母") = GetPy(e.NewValue, True) Case "客户供应商" e.DataRow("客户代码") = GetPy(e.NewValue, True) End Select 老师好,我重置"客户供应商"列上面代码报错。 .NET Framework 版本:2.0.50727.3655 Foxtable 版本:2016.6.13.1 错误所在事件:表,通讯录, DataColChanged 详细错误信息: Exception has been thrown by the target of an invocation. Object reference not set to an instance of an object. [此贴子已经被作者于2016/7/6 12:50:07编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2016/7/6 13:45:00 -- If e.NewValue <> Nothing Then Select Case e.DataCol.Name
Case "姓名"
e.DataRow("字母") = GetPy(e.NewValue, True)
Case "客户供应商"
e.DataRow("客户代码") = GetPy(e.NewValue, True)
End Select
End If |
||||
-- 作者:江南小城 -- 发布时间:2016/7/6 15:26:00 -- Select e.DataCol.Name Case "群组分类" If e.DataRow.IsNull("群组分类") Then e.DataRow("客户ID") = Nothing Else Dim lb As String = e.DataRow("群组分类") Dim max As String = e.DataTable.Compute("Max(客户ID)","群组分类 = \'" & lb & "\' And 编号<> \'" & e.DataRow("编号") & "\'") \'取得该类别的最大编号 If max > "" Then e.DataRow("客户ID") = GetPy(lb, True).SubString(0, 1) & format(cint(max.SubString(1))+1, "000") Else e.DataRow("客户ID") = GetPy(lb, True).SubString(0, 1) & format(1, "000") End If End If End Select 老师,希望重置"群组分类"列"客户ID"列不发生变化或只修正错误的编号。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2016/7/6 16:19:00 -- Select e.DataCol.Name
Case "群组分类"
If e.DataRow.IsNull("群组分类") Then
e.DataRow("客户ID") = Nothing
Elseif e.DataRow.Isnull("客户ID") Then
Dim lb As String = e.DataRow("群组分类")
Dim max As String = e.DataTable.Compute("Max(客户ID)","群组分类 = \'" & lb & "\' And 编号<> \'" & e.DataRow("编号") & "\'") \'取得该类别的最大编号
If max > "" Then
e.DataRow("客户ID") = GetPy(lb, True).SubString(0, 1) & format(cint(max.SubString(1))+1, "000")
Else
e.DataRow("客户ID") = GetPy(lb, True).SubString(0, 1) & format(1, "000")
End If
End If
End Select
|
||||
-- 作者:江南小城 -- 发布时间:2016/7/6 20:56:00 -- 谢谢老师 |