以文本方式查看主题

-  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()

http://www.foxtable.com/webhelp/scr/1537.htm
--  作者:新福星
--  发布时间: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 If
End
 If