Foxtable(狐表)用户栏目专家坐堂 → 代码问题


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

主题:代码问题

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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
代码问题  发帖心情 Post By:2015/9/15 21:35:00 [只看该作者]


此主题相关图片如下:图1.png
按此在新窗口浏览图片

此主题相关图片如下:图2.png
按此在新窗口浏览图片

在图1中单击“统计”按钮后,跳转窗口的同时,会勾选所选教师行的逻辑列,
在图2表中单击“工资发放”按钮以后,同时隐藏图1中被勾选的行

 

问题:

1、现在单击“工资发放”按钮后,被勾选行不隐藏

2、如果没有发放工资,只是查看然后关闭了窗口,怎样取消图一中本次操作新增的勾选
3、如果单击”上一步“返回图1窗口,也是取消勾选的操作

 

求大师帮忙修改

 

下面分别是”统计“和”工资发放“、”上一步“按钮的代码:

统计:

Dim g As New GroupTableBuilder("统计表1", DataTables("培训课时统计表"))
g.Groups.AddDef("教师姓名")
g.Groups.AddDef("授课内容")
g.Totals.AddDef("授课内容", AggregateEnum.Count,"签到次数")
g.Filter = "教师姓名 = '" & e.Form.Controls("ComboBox1").Text & "'and 已结算 = false"
g.Build(False)

DataTables("教师课时统计表").DataRows.Clear
Dim f As new Filler
f.SourceTable = DataTables("统计表1") '指定数据来源
f.SourceCols = "教师姓名,授课内容,签到次数" '指定数据来源列
f.DataTable = DataTables("教师课时统计表") '指定数据接收表
f.DataCols = "教师姓名,授课内容,签到次数" '指定数据接收列
f.Fill() '填充数据

MainTable = Tables("教师课时统计表")
DataTables.Unload("统计表1")

For Each r As DataRow In DataTables("培训课时统计表").Select("教师姓名 = '" & e.Form.Controls("ComboBox1").Text & "' and 已结算 = false")
    r("已结算") = True
    r.Save
Next

DataTables("培训课时统计表").Save
DataTables("教师课时统计表").Save
forms("培训课时统计表").close
forms("教师工资结算表").show

 

工资发放:

Dim mr As Row =Tables("培训课时统计表").Current
Dim Result As DialogResult
Result = MessageBox.Show(mr("教师姓名") &" 您是否已核对过表格中各项统计及金额无误,确定领取工资?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
   
    For Each r As Row In Tables("教师课时统计表").Rows
        r("工资已发") = True
        r.Locked = True
        r.Save
    Next
    For Each r1 As Row In Tables("培训课时统计表").Rows
        r1.Locked = True
        r1.Remove
    Next
   
   
    Dim nma()As String = {"教师姓名","教师工资","授课内容"}  'A表数据来源列
    Dim nmb()As String = {"相关人员","账目金额","名目"}  'B表数据接收列
    Dim dr3 As Row = Tables("教师课时统计表").Current
    Dim dr4 As Row = Tables("经营相关账目").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr4(nmb(i)) = dr3(nma(i))
    Next
   
    MessageBox.Show(mr("教师姓名") &" 您的工资已结算完毕,发放到您的手中!是不是要请客哦!O(∩_∩)O~","提示")
End If
e.Form.Controls("Button1").Enabled = False
e.Form.Controls("Button3").Enabled = False
e.Form.Controls("Button4").Enabled = False

DataTables("培训课时统计表").Save
DataTables("经营相关账目").Save

 

上一步

forms("教师工资结算表").close

For Each r As Row In Tables("培训课时统计表").Rows
    r("已结算") = False
    r.Locked = False
    r.Save
Next

forms("培训课时统计表").show


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/15 22:10:00 [只看该作者]

1、设置一下filter

 

Tables("教师课时统计表").Filter = "工资已发 = false or 工资已发 is null"

 

2、直接rejectChanged http://www.foxtable.com/help/topics/1538.htm

 

3、取消操作,即可

 


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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/9/15 22:12:00 [只看该作者]

以下是引用大红袍在2015/9/15 22:10:00的发言:

1、设置一下filter

 

Tables("教师课时统计表").Filter = "工资已发 = false or 工资已发 is null"

 

2、直接rejectChanged http://www.foxtable.com/help/topics/1538.htm

 

3、取消操作,即可

 

返回上一步这个按钮 我现在用的代码

forms("教师工资结算表").close

For Each r As Row In Tables("培训课时统计表").Rows
    r("已结算") = False
    r.Locked = False
    r.Save
Next

forms("培训课时统计表").show

 

有一个问题,而且很严重, 返回之后,回把所有之前勾选的行全部取消。。。那就惨了 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/15 22:15:00 [只看该作者]

2、3,都是用 rejectChanged

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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/9/15 22:21:00 [只看该作者]

以下是引用大红袍在2015/9/15 22:10:00的发言:

1、设置一下filter

 

Tables("教师课时统计表").Filter = "工资已发 = false or 工资已发 is null"

 

2、直接rejectChanged http://www.foxtable.com/help/topics/1538.htm

 

3、取消操作,即可

 

Tables("教师课时统计表").Filter = "工资已发 = false or 工资已发 is null"

加在工资发放按钮代码

    For Each r1 As Row In Tables("培训课时统计表").Rows
        r1.Locked = True
        r1.Remove
    Next

之上吗?

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/15 22:22:00 [只看该作者]

 自由测试。


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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/9/15 22:24:00 [只看该作者]

以下是引用大红袍在2015/9/15 22:15:00的发言:
2、3,都是用 rejectChanged

forms("教师工资结算表").close
DataTables("培训课时统计表").RejectChanges
forms("培训课时统计表").show

 

就这样吗?


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/9/15 22:26:00 [只看该作者]

思路:打开窗口的时候,保存数据,关闭的窗口的时候,如果要撤销,就执行 RejectChanges


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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
  发帖心情 Post By:2015/9/15 22:30:00 [只看该作者]

懂了 多谢大师~~晚安

 回到顶部