以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  在窗口中的table控件中的currentchanged事件怎么用不了e.cancel呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=72099)

--  作者:gdjoss
--  发布时间:2015/7/23 14:23:00
--  在窗口中的table控件中的currentchanged事件怎么用不了e.cancel呢?
如题,在窗口中的table控件中的currentchanged事件怎么用不了e.cancel = true呢?
显示:"Cancel" 不是 "TableEventArgs"的成员

[此贴子已经被作者于2015/7/23 14:31:53编辑过]

--  作者:大红袍
--  发布时间:2015/7/23 14:34:00
--  

 去编写 BeforeSelChange

 

http://www.foxtable.com/help/topics/0644.htm

 


--  作者:gdjoss
--  发布时间:2015/7/23 14:44:00
--  
窗口的控件table
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:图片和例子.rar

没有那事件呀
--  作者:大红袍
--  发布时间:2015/7/23 14:50:00
--  

写到表属性的事件里去。


--  作者:gdjoss
--  发布时间:2015/7/23 14:54:00
--  
可是我要引用到窗口里的控件呀,或者有没有什么办法让我在执行保存操作之前禁止选取table中的其他行
--  作者:大红袍
--  发布时间:2015/7/23 14:58:00
--  

 事件代码

 

Dim r As Row = e.Table.Rows(e.OldRange.Rowsel)
If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行
    If r.DataRow.RowState = DataRowState.Added OrElse r.DataRow.RowState = DataRowState.Modified Then
        e.Cancel = True
    End If
End If

 


--  作者:gdjoss
--  发布时间:2015/7/23 15:11:00
--  
不是呀,这还是要在表属性里设置呀,能不能就在窗口控件table的currentchanged属性中修改,让它不能选其他行,或者选了其他行能自动选回原来的行
--  作者:大红袍
--  发布时间:2015/7/23 15:34:00
--  

一定要在表属性里设置啊

 

If e.Table.Name = "窗口1_Table1" Then
   
    Dim r As Row = e.Table.Rows(e.OldRange.Rowsel)
    If e.OldRange.RowSel <> e.NewRange.RowSel \'如果选择的是不同的行
        If r.DataRow.RowState = DataRowState.Added OrElse r.DataRow.RowState = DataRowState.Modified Then
            e.Cancel = True
        End If
    End If
   
End If