Foxtable(狐表)用户栏目专家坐堂 → 等红袍大师指点迷津


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

主题:等红袍大师指点迷津

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


加好友 发短信
等级:二尾狐 帖子:514 积分:3247 威望:0 精华:0 注册:2015/4/22 16:20:00
等红袍大师指点迷津  发帖心情 Post By:2015/8/31 6:20:00 [只看该作者]


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

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


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150831061847.png
图片点击可在新窗口打开查看
之前在大师的指点下,完成了(图一)的窗口设计,可以通过(图一)的窗口一次录入多行内容新建课程(图三)

现在如果我想再增加一个窗口(图二)进行修改课程。

我该在窗口事件中如何编写代码,才能跟图一窗口相反,根据“课类分类表中:相同"培训科目"列下“开设课程”列的行数来判断("Combobox1").Text,来判断("Textbox" & i)和("Label" & i)显示的个数,并在("Textbox" & i).text总代入对应课时呢??

 

 



[此贴子已经被作者于2015/8/31 6:21:24编辑过]

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


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

1、取得当前行的培训科目 Tables("表A").Current("培训科目")

 

2、取得所有记录 Dim drs As List(Of datarow) = DataTables("表A").Select("培训科目 = '" & Tables("表A").Current("培训科目") & "'")

 

3、循环drs,给控件赋值。


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


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

以下是引用大红袍在2015/8/31 9:19:00的发言:

1、取得当前行的培训科目 Tables("表A").Current("培训科目")

 

2、取得所有记录 Dim drs As List(Of datarow) = DataTables("表A").Select("培训科目 = '" & Tables("表A").Current("培训科目") & "'")

 

3、循环drs,给控件赋值。

全部都是在窗口的事件命令里编写吗??

例如古筝下分"开设课程"分为六级,我怎样根据这6级判断Combobox1的值为6来显示("Textbox" & i)和("Label" & i)

然后("Textbox" & i).text自动代入 这6级的课时费?


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


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

For i As Integer = 0 to drs.Count - 1

    e.Form.Controls("TextBox" & i+1).Text = drs(i)("课时费")

Next


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


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

以下是引用大红袍在2015/8/31 10:24:00的发言:

For i As Integer = 0 to drs.Count - 1

    e.Form.Controls("TextBox" & i+1).Text = drs(i)("课时费")

Next

我现在afterload事件:

Tables("课类分类表").Filter = "培训科目 = '" & Tables("课类分类表").Current("培训科目") & "'"
Dim drs As List(Of DataRow) = DataTables("课类分类表").Select("培训科目 = '" & Tables("课类分类表").Current("培训科目") & "'")
For i As Integer = 0 To drs.Count - 1
e.Form.Controls("Combobox1").Text = i + 1
e.Form.Controls("TextBox" & i+1).Text = drs(i)("课时费")

Next

 

保存修改按钮的click事件如果用:

Dim dt As DataTable = DataTables("课类分类表")
Dim fl As String = e.Form.Controls("TextBox01").text
Dim km As String = e.Form.Controls("Textbox12").text
 
For i As Integer = 1 To e.Form.Controls("Combobox1").Text
    Dim nr As DataRow = dt.find("分类 = '" & fl & "' and 培训科目 = '" & km & "' and 科目 = '" & CLNum(i) & "级" & "'")
    If nr Is Nothing
       nr = dt.AddNew

        nr("分类") = fl
        nr("培训科目") = km
        nr("科目") = km & CLNum(i) & "级"
    End If
    nr("课时费") = e.Form.Controls("Textbox" & i).text
    nr.save
Next

e.Form.close

会重新多填充一遍,我是不是还要加多一个判断??

如果("Combobox1").Text不变,只保存("Textbox" & i).text的修改

如果("Combobox1").Text,则对应调整("Textbox" & i)和("Label" & i)之后,在保存("Textbox" & i).text的修改

 

这段代码该怎么写??


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


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

Dim nr As DataRow = dt.find("分类 = '" & fl & "' and 培训科目 = '" & km & "' and 科目 = '" & km & CLNum(i) & "级" & "'")

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


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


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150831110019.png
图片点击可在新窗口打开查看
还有啊。我现在窗口如上图

双击"培训科目"下的内容,打开修改课程的窗口,

课时双击后,原来表就会直接变成筛选状态,该怎么解决?

在保存修改后 加写取消筛选的代码吗???Tables("课类分类表").Filter = ""

[此贴子已经被作者于2015/8/31 11:08:16编辑过]

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


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

不要设置tables()的filter属性。

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


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

以下是引用大红袍在2015/8/31 11:08:00的发言:
不要设置tables()的filter属性。

是我窗口afterload命令

Tables("课类分类表").Filter = "培训科目 = '" & Tables("课类分类表").Current("培训科目") & "'"
Dim drs As List(Of DataRow) = DataTables("课类分类表").Select("培训科目 = '" & Tables("课类分类表").Current("培训科目") & "'")
For i As Integer = 0 To drs.Count - 1
e.Form.Controls("Combobox1").Text = i + 1
e.Form.Controls("TextBox" & i+1).Text = drs(i)("课时费")

Next

 

 

课时不写第一段,在表中双击单元格 打开的内容会是我想要修改的吗?


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


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

删除

 

Tables("课类分类表").Filter = "培训科目 = '" & Tables("课类分类表").Current("培训科目") & "'"


 回到顶部
总数 18 1 2 下一页