以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]控件RecordGrid1和副表控制的问题? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=93574) |
-- 作者:新福星 -- 发布时间:2016/12/1 16:37:00 -- [求助]控件RecordGrid1和副表控制的问题? 一个窗口有一个表控件B和表A副本捆绑。控件RecordGrid1和表A捆绑。 希望通过点击表控件B,控件RecordGrid1跟随变化。这个已经做到了。 希望编辑控件RecordGrid1里的记录时,再点击表控件B,控件RecordGrid1数据不跟随且提出告警。 现在在编辑状态时,点击表控件B时,RecordGrid1里的记录可以不跟随,但是表控件B显示的当前记录变化了! 如何让表控件B显示的当前记录不变化?谢谢
[此贴子已经被作者于2016/12/1 16:42:10编辑过]
|
-- 作者:有点蓝 -- 发布时间:2016/12/1 16:48:00 -- 取消更改 DataTables("表A").DataRows(0).Reject() |
-- 作者:新福星 -- 发布时间:2016/12/1 16:57:00 -- 这条语句放到哪个事件? |
-- 作者:有点蓝 -- 发布时间:2016/12/1 17:07:00 -- 点击表控件B时,RecordGrid1里的记录可以不跟随 -- 是怎么做的,放在这个事件里。具体上例子说明 |
-- 作者:新福星 -- 发布时间:2016/12/1 17:15:00 -- \'在表XXXX副本的Click事件 if 没有编辑 then Dim r As DataRow=DataTables("XXXX").find("商家编码=\'" & e.Row("商家编码") & "\'") If r IsNot Nothing Then Dim wz As Integer=Tables("XXXX").FindRow(r) If wz>=0 Then Tables("XXXX").Position=wz End If End If else e.Cancel=true end |
-- 作者:有点蓝 -- 发布时间:2016/12/1 17:28:00 -- 到这个事件判断:http://www.foxtable.com/webhelp/scr/0644.htm If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行 If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then \'而且原来选择的是一个有效的数据行 Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) \'获得原来选择的行 if 编辑 r.DataRow.Reject() ene if End IfEnd If |