以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [原创]一个省事的办法 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70638) |
|
-- 作者:石四 -- 发布时间:2015/6/25 16:02:00 -- [原创]一个省事的办法 用户间通讯,教程是指定用户设置,如果新增用户,就不方便了,得修改代码。
试着把代码改成: Dim Filter As String Select Case User.Name Case "管理员","开发者" Filter = "" \'指定用户加载所有行 Case (User.Name) Filter = "接收者 = \'" & User.Name & "\' Or 发送者 = \'" & User.Name & "\'" End Select DataTables("信息表").LoadFilter = Filter DataTables("信息表").Load() Dim drs As List(of DataRow) = DataTables("信息表").Select("接收者 = \'" & User.Name & "\' And 接收时间 Is Null") If drs.Count > 0 Then For Each dr As DataRow In drs dr("接收时间") = Date.Now Next DataTables("信息表").Save() End If
通过!新增用户不需再改代码了 |
|
-- 作者:Bin -- 发布时间:2015/6/25 16:03:00 -- 谢谢分享 |
|
-- 作者:石四 -- 发布时间:2015/6/25 16:42:00 -- Case (User.Name) 改成 Case Else 结果也一样。 |
|
-- 作者:石四 -- 发布时间:2015/6/25 16:46:00 -- 如果你使用的Foxtable开发版,可以用AppendLoadAsync代替代替上述代码中的AppendLoad,这样效果会更好。 怎么用AppendLoadAsync代替代替上述代码中的AppendLoad?
Dim flt As String 把drs = DataTables("信息表").AppendLoad(flt, False)改成drs = DataTables("信息表").AppendLoadAsync(flt, False)报错呢! |
|
-- 作者:douglas738888 -- 发布时间:2015/6/25 17:14:00 -- 楼主,请教下下: 我也模仿指南上的用户间通讯进行了学习,在制作过程中,我把收件人替换成了CheckedComboBox,把DataTables("信息表").LoadFilter = Filter改为 DataTables("信息表").LoadFilter ="[_Identify]>0",收件人变成可选多人,而且用户登录也能在一行中收到发送的信息,但是我一直想把CheckedComboBox中勾选的多人和内容进行拆解,尝试编写代码几天了都不成功,请教请教楼主。 例如: 管理人员在CheckedComboBox中勾选了人员A,B,C,并给他们发送同一条工作信息后,在信息表接收者列中分别增加行为 发送者 接收者 内容 管理人员 A 该工作了 管理人员 B 该工作了 管理人员 C 该工作了 A登录后单独可见管理者发来的工作信息 发送者 接收者 内容 管理人员 A 该工作了 B登录后单独可见管理者发来的工作信息 发送者 接收者 内容 管理人员 B 该工作了 ....... 不知这样拆解的代码如何编写?请教!请教!
|
|
-- 作者:大红袍 -- 发布时间:2015/6/25 17:23:00 -- 你直接用split分隔内容即可。
http://www.foxtable.com/help/topics/0245.htm
|
|
-- 作者:douglas738888 -- 发布时间:2015/6/25 17:55:00 -- 老师,这一章节,我看来,代码Dim Multi As String = "ab|cd|ef"是固定的,而CheckedComboBox是动态勾选的 |
|
-- 作者:大红袍 -- 发布时间:2015/6/25 18:16:00 -- 一样的意思 Dim Multi As String = e.Form.Controls("CheckedComboBox1").Text |
|
-- 作者:douglas738888 -- 发布时间:2015/6/26 10:20:00 -- 大红袍老师, Dim Multi As String = e.Form.Controls("CheckedComboBox1").Text Dim Values() as StringValues = Multi.split("|") For Index As Integer = 0 To Values.Length - 1 Output.Show(Values(Index)) Next 以上代码在命令窗口测试出现 |
|
-- 作者:大红袍 -- 发布时间:2015/6/26 10:21:00 -- 无语 Dim Multi As String = Forms("窗口1").Controls("CheckedComboBox1").Text
|