以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 排序错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53140)

--  作者:wumingrong1
--  发布时间:2014/6/30 19:00:00
--  [求助] 排序错误
如果我按住 Ctrl+列名 准备按该列进行排序是,项目就自动关闭啦。问题应该出在哪里?

图片点击可在新窗口打开查看此主题相关图片如下:360截图20140630185731703.jpg
图片点击可在新窗口打开查看


如上图、如果我按住  Ctrl+设备型号 时,项目就自动关闭了。

我的全局表事件BeforeFilter中写有以下命令:

If vars("查询") = True Then
    Dim count As Integer = e.Table.Compute("count(_Identify)", e.Filter)
    If count = 0 Then
        Messagebox.show("没有找到你要查找的内容!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        e.cancel = True
    End If
    vars("查询") = False
End If
[此贴子已经被作者于2014-6-30 19:01:36编辑过]

--  作者:有点甜
--  发布时间:2014/6/30 19:10:00
--  

 呃,不会有这种情况,无关1楼的代码。

 

 看看是不是beforeSort、afterSort写了什么代码。


--  作者:wumingrong1
--  发布时间:2014/6/30 19:12:00
--  
beforeSort 写了如下命令

\'1 开始 :以下内容目的是为确保在换行之前监测当前行内容是否被修改,如果被修改即不允许换行并弹出提示
If e.Table.current IsNot Nothing Then
    If e.NewRange.RowSel < 0 Then
        vars("del") = True
    End If
    If e.NewRange.RowSel >= 0 AndAlso vars("del") = False AndAlso e.Table.current.DataRow.RowState <> DataRowState.Unchanged AndAlso vars("add") = False Then
        If e.NewRange.RowSel <> e.OldRange.RowSel Then
            e.Cancel=True
            MessageBox.Show("当前行数据已被修改 请先保存数据再换行", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question)
        End If
        vars("add")=False
    End If
End If


\'1 结束

--  作者:有点甜
--  发布时间:2014/6/30 19:15:00
--  
 为什么要写代码,删除掉
--  作者:wumingrong1
--  发布时间:2014/6/30 19:27:00
--  
以上内容目的是为确保在换行之前监测当前行内容是否被修改,如果被修改即不允许换行并弹出提示
--  作者:有点甜
--  发布时间:2014/6/30 19:28:00
--  
以下是引用wumingrong1在2014-6-30 19:27:00的发言:
以上内容目的是为确保在换行之前监测当前行内容是否被修改,如果被修改即不允许换行并弹出提示

 

代码不能写在aftersort事件啊,没有意义。

[此贴子已经被作者于2014-6-30 19:28:03编辑过]

--  作者:wumingrong1
--  发布时间:2014/6/30 20:58:00
--  
那我该在哪里实现 如果当前行内容未进行保存,禁止切换到其他行并弹出提示?
--  作者:有点甜
--  发布时间:2014/6/30 20:59:00
--  
以下是引用wumingrong1在2014-6-30 20:58:00的发言:
那我该在哪里实现 如果当前行内容未进行保存,禁止切换到其他行并弹出提示?

 

之前不是给你写过代码了?代码没有写到BeforeSort事件里啊。只是写到了其它事件。

[此贴子已经被作者于2014-6-30 20:59:24编辑过]

--  作者:wumingrong1
--  发布时间:2014/6/30 21:27:00
--  
以下是引用有点甜在2014-6-30 20:59:00的发言:

 

之前不是给你写过代码了?代码没有写到BeforeSort事件里啊。只是写到了其它事件。

[此贴子已经被作者于2014-6-30 20:59:24编辑过]

就是按你给的代码写的啊。有写到BeforeSort事件里
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb


--  作者:有点甜
--  发布时间:2014/6/30 21:29:00
--  
 我看了9楼,那里有在【BeforeSort】事件写什么代码?