Foxtable(狐表)用户栏目专家坐堂 → 汇总模式下显示行信息会出错


  共有5281人关注过本帖树形打印复制链接

主题:汇总模式下显示行信息会出错

帅哥哟,离线,有人找我吗?
jacksn
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
汇总模式下显示行信息会出错  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/18 11:20:00 [只看该作者]

出什么错? 上个例子看看!

 回到顶部
帅哥哟,离线,有人找我吗?
jacksn
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
  发帖心情 Post By:2013/10/18 14:50:00 [只看该作者]

自己顶

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/18 20:29:00 [只看该作者]

 要获取group的行,请加true。
 
 If t.Rows(t.RowSel, true).IsGroup = False  Then


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/10/18 20:35:00 [只看该作者]

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

 

 

If CurrentTable.Position = -1 Then 

    Return
End If


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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


 回到顶部