Foxtable(狐表)用户栏目专家坐堂 → 当符合条件时,自动填入数据,并自动向下增加行,填入数据


  共有6677人关注过本帖树形打印复制链接

主题:当符合条件时,自动填入数据,并自动向下增加行,填入数据

帅哥哟,离线,有人找我吗?
cyrollin
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/2/5 17:26:00 [只看该作者]

厉害,搞定了,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  22楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/2/6 17:00:00 [只看该作者]

甜老师,我想再把客户资料表里面的 客户要求 这列内容,符合判断条件后,自动加入 派工表 的 客户要求里面,我只增加了这一句,但不起作用,帮我看下,是哪里的问题呢?

If e.DataCol.Name = "日期" Then
    If e.NewValue = Nothing Then
        e.DataRow("星期") = Nothing
    Else
        e.DataRow("星期") = Format(e.DataRow("日期"), "dddd")
    End If
Else If (e.DataCol.Name = "星期" OrElse e.DataCol.Name = "新老客户") AndAlso e.DataRow("新老客户")="老客户" Then
    Dim i As Integer = 0
    Dim dr As DataRow
    SystemReady = False
    For Each fdr As DataRow In DataTables("客户数据").Select("固定时间 = '" & e.DataRow("星期") & "'")
        If i = 0 Then
            dr = e.DataRow
        Else
            dr = e.DataTable.AddNew
        End If
        dr("日期") = e.DataRow("日期")
        dr("星期") = e.DataRow("星期")
        dr("新老客户") = e.DataRow("新老客户")
        dr("客户信息") = fdr("综合信息")
        dr("客户要求") = e.DataRow("客户要求")
        i += 1
    Next
    e.DataTable.DeleteFor("日期 is Null")
    e.DataTable.AddNew
    SystemReady = True
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/6 17:09:00 [只看该作者]

dr("客户要求") = fdr("客户要求")

 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/2/6 17:10:00 [只看该作者]

why is "fdr" used here ?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/6 17:13:00 [只看该作者]

 fdr 是查找的行,肯定要用 客户数据 的行

 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/2/6 17:21:00 [只看该作者]

oh, THANKS

每次我把这些测试录入的数据删除掉时,总提示这个错误,


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


 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  27楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/2/6 17:21:00 [只看该作者]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2012.11.29.1
错误所在事件:表,派工表,DataColChanged
详细错误信息:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.Data.DeletedRowInaccessibleException: 不能通过已删除的行访问该行的信息。
   在 System.Data.DataRow.GetDefaultRecord()
   在 System.Data.DataRow.get_Item(String columnName)
   在 Foxtable.DataRow.set_Item(String string_0, Object value)
   在 UserCode.DataColChanged(DataColEventArgs e)
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 Foxtable.DataTable.dataTable_0_ColumnChanged(Object sender, DataColumnChangeEventArgs e)

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  28楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/2/6 17:31:00 [只看该作者]

 呃,测试没有遇到你的问题。例子发上来,说明怎样操作会报错。

 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  29楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/2/6 17:38:00 [只看该作者]

甜老师, 这里的 这个代码:    e.DataTable.DeleteFor("日期 is Null") , 

If e.DataCol.Name = "日期" Then
    If e.NewValue = Nothing Then
        e.DataRow("星期") = Nothing
    Else
        e.DataRow("星期") = Format(e.DataRow("日期"), "dddd")
    End If
Else If (e.DataCol.Name = "星期" OrElse e.DataCol.Name = "新老客户") AndAlso e.DataRow("新老客户")="老客户" Then
    Dim i As Integer = 0
    Dim dr As DataRow
    SystemReady = False
    For Each fdr As DataRow In DataTables("客户数据").Select("固定时间 = '" & e.DataRow("星期") & "'")
        If i = 0 Then
            dr = e.DataRow
        Else
            dr = e.DataTable.AddNew
        End If
        dr("日期") = e.DataRow("日期")
        dr("星期") = e.DataRow("星期")
        dr("新老客户") = e.DataRow("新老客户")
        dr("客户信息") = fdr("综合信息")
        dr("客户要求") = fdr("客户要求")
        i += 1
    Next
    e.DataTable.DeleteFor("日期 is Null")
    SystemReady = True
End If

自动向下填充数据的时候,能不能就在当前行下面自动增加,不要删掉空白行了,再增加,也不要像下面这样增加?



 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  30楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2015/2/6 17:40:00 [只看该作者]

上面那个错误,就是在按 DELETE键出现, 那是小问题,先不管它吧。

 回到顶部
总数 48 上一页 1 2 3 4 5 下一页