Foxtable(狐表)用户栏目专家坐堂 → 新增行


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

主题:新增行

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


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
新增行  发帖心情 Post By:2024/8/16 10:33:00 [显示全部帖子]

新增行的【计划开始日期】等于上一行的【计划完成日期】,哪里错了?

 Dim r As Row = Tables("生产管理_Table04").AddNew()
If e.Row.Index < e.Table.Rows.count - 1 Then
    If e.Table.Rows(e.Row.Index - 1).IsNull("计划完成日期") = False Then
        r("计划开始日期") = e.Table.Rows(e.Row.Index - 1).IsNull("计划完成日期")
    End If
End If

[此贴子已经被作者于2024/8/16 10:59:23编辑过]

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


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/8/16 12:30:00 [显示全部帖子]

放在Button控件的Click事件中


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


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/8/16 13:45:00 [显示全部帖子]

Dim t As Table = e.Form.Controls("Table04").Table      '定义当前窗口中的Table
Dim r As Row = Tables("生产管理_Table04").AddNew()     '在生产管理_Table04中新增一行
If t.Rows( t.Row.Index - 1) IsNot Nothing And t.Rows( t.Row.Index - 1).IsNull("计划完成日期") = False Then       '如果存在上一行并且上一行的【计划完成日期】不为空,这句代码怎么写?
    r("计划开始日期") = t.Rows(t.Row.Index - 1).IsNull("计划完成日期")       '新增行的【计划开始日期】等于上一行的【计划完成日期】
End If

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


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/8/16 14:53:00 [显示全部帖子]

[计划完成日期]=[计划开始日期]+[工期]

[计划开始日期]=上一行的[计划完成日期]

当我在某一行的[计划开始日期]列中输入一个日期,自动计算出该行的[计划完成日期]及下面所有行的[计划完成日期]和[计划完成日期](图示的打马赛克区域),求代码?


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2024/8/16 14:53:32编辑过]

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


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/8/16 15:35:00 [显示全部帖子]

蓝版,8楼的代码在主表中可以运行,在窗口的副本表中运行时,系统自动停止运行了。另外窗口的副本表的排序不是按主键进行排序,而是按[第一列]内容进行排序的。


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


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/8/17 8:43:00 [显示全部帖子]

.NET Framework 版本:4.0.30319.1
Foxtable 版本:2022.8.18.1
错误所在事件:表,工艺内容,DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Syntax error: Missing operand after 'AndAlso' operator.

 

datacolchanged事件

 

If e.DataCol.name = "计划开始日期" AndAlso e.DataRow.isnull("计划开始日期") = False Then
Dim d As Date = e.DataRow("计划开始日期")
Dim d2 As Date = d.adddays(e.DataRow("工期"))
e.DataRow("计划完成日期") = d2
For Each dr As DataRow In e.DataTable.select("工艺单编号 =" & e.DataRow("工艺单编号") & "AndAlso 工序号 >" & e.DataRow("工序号"), "工序号")
dr("计划开始日期") = d2
d = d2
d2 = d.adddays(dr("工期"))
dr("计划完成日期") = d2
Next
End If

 


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


加好友 发短信
等级:四尾狐 帖子:827 积分:6488 威望:0 精华:0 注册:2013/2/18 17:46:00
  发帖心情 Post By:2024/8/17 8:54:00 [显示全部帖子]

.NET Framework 版本:4.0.30319.1
Foxtable 版本:2022.8.18.1
错误所在事件:表,工艺内容,DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Cannot find column [RW002749].

 回到顶部