以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  汇总模式下显示行信息会出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41383)

--  作者:jacksn
--  发布时间:2013/10/18 11:17:00
--  汇总模式下显示行信息会出错
以下是afterselchange里的代码,原意是切换行时能实时显示当前行的信息,但是在汇总模式切换下总是出错,求指教:
Dim t As Table = CurrentTable
Dim st As String
\'Dim cn As Integer = e.Table.Current.Index \'cn = col number
If t.Rows(t.RowSel).IsGroup = False  Then
    \'If  cn > -1 Then
    st = "序号 :" & e.Table.Rows(e.Table.Rowsel,True)("序") & ", 订单号:" & e.Table.Rows(e.Table.Rowsel,True)("报价") 
Else
    St = "数据汇总行"
End If
StatusBar.Message1 = st
错误提示截图:
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20131018115908.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2013-10-18 12:00:00编辑过]

--  作者:Bin
--  发布时间:2013/10/18 11:20:00
--  
出什么错? 上个例子看看!
--  作者:jacksn
--  发布时间:2013/10/18 14:50:00
--  
自己顶
--  作者:有点甜
--  发布时间:2013/10/18 20:29:00
--  
 要获取group的行,请加true。
 
 If t.Rows(t.RowSel, true).IsGroup = False  Then


--  作者:程兴刚
--  发布时间:2013/10/18 20:35:00
--  

在您的代码前加上这一段:

 

 

If CurrentTable.Position = -1 Then 

    Return
End If


--  作者:狐狸爸爸
--  发布时间:2013/10/19 14:37:00
--  

还有,事件应该用e.table,而不是CurrentTable:

 

 

Dim t As Table = e.Table
Dim st As String
If t.Position < 0 Then
    st = ""
Else
    If t.Rows(t.RowSel).IsGroup = False  Then
        st = "序号 :" & t.Rows(t.Rowsel,True)("序") & ", 订单号:" & t.Rows(t.Rowsel,True)("报价")
    Else
        St = "数据汇总行"
    End If
End If
StatusBar.Message1 = st