以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 代码错误求修正 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74573)
|
-- 作者:bestorange
-- 发布时间:2015/9/14 14:37:00
-- 代码错误求修正
此主题相关图片如下:123.png
此主题相关图片如下:213.png
在图一窗口中选择好教师姓名(如:张三),然后单击“统计”按钮,自动弹出图二的窗口,单击图二窗口中“工资发放”按钮后,图一窗口中所绑定的表“培训课时统计表”中 对应教师(张三)的“工资已发”列勾选并隐藏。
现在单击后会勾选全部教师的“工资发放”列,也不隐藏。是代码中出了错误吗??
下面是图二中“工资发放”按钮的代码,点击以后,图1中
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 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
|
-- 作者:大红袍
-- 发布时间:2015/9/14 15:00:00
--
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 DataRow In DataTables("培训课时统计表").Select("教师姓名 = \'" & mr("教师姓名") & "\'") r("工资已发") = True r.Locked = True r.Save 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 Tables("培训课时统计表").Filter = "工资已发 = false or 工资已发 is null" 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
|
-- 作者:bestorange
-- 发布时间:2015/9/14 15:17:00
--
还是不对,我在图1中选择了(张三),然后单击统计,课时还是全部教师后面都勾选。是不是我图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 Row In Tables("培训课时统计表").Rows r("已结算") = True r.Save Next DataTables("培训课时统计表").Save DataTables("教师课时统计表").Save forms("培训课时统计表").close forms("教师工资结算表").show
|
-- 作者:大红袍
-- 发布时间:2015/9/14 15:23:00
--
2楼代码没有问题。
3楼代码
For Each r As Row In Tables("培训课时统计表").Rows r("已结算") = True r.Save Next
改成
For Each r As DataRow In DataTable("培训课时统计表").Select("教师姓名 = \'" & e.Form.Controls("ComboBox1").Text & "\' and 已结算 = false") r("已结算") = True r.Save Next
|
-- 作者:bestorange
-- 发布时间:2015/9/14 15:28:00
--
以下是引用大红袍在2015/9/14 15:23:00的发言:
2楼代码没有问题。
3楼代码
For Each r As Row In Tables("培训课时统计表").Rows r("已结算") = True r.Save Next
改成
For Each r As DataRow In DataTable("培训课时统计表").Select("教师姓名 = \'" & e.Form.Controls("ComboBox1").Text & "\' and 已结算 = false") r("已结算") = True r.Save Next
修改后提示错误,DataTable是一个类型不能用做表达式
|
-- 作者:大红袍
-- 发布时间:2015/9/14 15:47:00
--
DataTable 改成 DataTables
|
-- 作者:bestorange
-- 发布时间:2015/9/14 18:53:00
--
大师啊 还是不对,图一中,张三,找四 两个老师,我选择张三,单击统计,然后 在图二中单击 工资发放 结果找四也勾选了。
是我哪段代码出错了?
|
-- 作者:大红袍
-- 发布时间:2015/9/14 19:15:00
--
那这样写,还不行,就上传实例。
Dim xm As String = mr("教师姓名")
For Each r As DataRow In DataTables("培训课时统计表").Select("教师姓名 = \'" & xm & "\'") r("工资已发") = True r.Locked = True r.Save Next
|