以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 集合遍历 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=76703) |
-- 作者:xiaohuli -- 发布时间:2015/11/3 17:43:00 -- 集合遍历 在用openqq实现即时同步数据的时候有个问题,就是当我修改一行记录的时候,然后保存,其他客户端就能看到刚刚修改的那行的记录,但是当我一次性修改好多行数据的时候,等修改完了在点击保存的时候,其他客户端看到的就只有一行的记录修改的,其他行的记录没修改。 我目前就是想怎么把修改的记录给放到集合中?代码写不出来
老师下面是我的思路,你看看这个思路对不对? 我目前是这样想的,当修改数据的时候行的状态是未锁定的,当我保存后,表中所有行的记录都变成了锁定状态,我想定义一个全局变量集合,然后当我修改多行数据的时候,将这些未锁定的行的_identify记录下来,然后点击保存的时候将这些记录下来的数据传递给客户端,在openqq的客户端接收消息的事件中加载这些行。 |
-- 作者:大红袍 -- 发布时间:2015/11/3 17:47:00 -- 你应该去beforesavedatarow事件写代码啊,每一行保存都会触发此事件的。
在事件里面,给各个客户端发送信息不就行了? |
-- 作者:xiaohuli -- 发布时间:2015/11/4 12:03:00 -- 老师,我想新增一条数据后,只有保存后才能进行第二次新增,我在BeforeAddDataRow事件中写了如下代码。但是不起作用,所以一直都可以新增。 For Each dr As Row In Tables("表A").Rows
If dr.Locked = False Then messagebox.show("请先保存当前行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) e.Cancel = True Return End If Next |
-- 作者:大红袍 -- 发布时间:2015/11/4 12:05:00 -- 简单一点的判断
If e.DataTable.HasChanges Then |
-- 作者:大红袍 -- 发布时间:2015/11/4 12:08:00 -- 精确一点的判断
For Each dr As DataRow In e.DataTable.DataRows |
-- 作者:xiaohuli -- 发布时间:2015/11/4 15:21:00 -- 老师,我现在想实现,当我正在修改了一行数据,如果我没有保存数据,则不能进行其他行数据的修改操作。 我写的代码有误,请老师帮忙看看。我是写在修改按钮上了。 For Each dr As DataRow In e.Table.DataRows |
-- 作者:Hyphen -- 发布时间:2015/11/4 15:32:00 -- dr.Locked 不能用来判断是否保存。
For Each dr As DataRow In e.Table.DataRows |
-- 作者:大红袍 -- 发布时间:2015/11/4 15:33:00 -- 参考
http://www.foxtable.com/help/topics/0644.htm
|