Foxtable(狐表)用户栏目专家坐堂 → 单击某一列,名头一样的合并,同时显示在最前面


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

主题:单击某一列,名头一样的合并,同时显示在最前面

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


加好友 发短信
等级:小狐 帖子:383 积分:2757 威望:0 精华:0 注册:2011/9/1 14:26:00
单击某一列,名头一样的合并,同时显示在最前面  发帖心情 Post By:2013/3/18 15:29:00 [只看该作者]

一个表里面有三层名头,其中每层名头都有重复了,当我单击某一列时,单元格里面有内容的自动集中到最前面,同时重复的名头合并在一起,我这里面有一个例子文件,在例子文件里面运行起来就没有问题,但是在文件里面运行起来就不好使,由天水平有限不能将这个例子运用到文件里面,请狐狸爸爸帮一下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.table
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:文件.table



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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/18 16:39:00 [只看该作者]

你搞得太复杂了,postionChanged事件代码改为:

 

e.Table.StopRedraw
Dim lst1 As New List (of String)
Dim lst2 As New List (of String)
Dim r As Row = e.Table.Current
Dim idx As Integer = e.Table.colsel
For Each c As col In e.Table.cols
    Select Case c.name
        Case "日期","计划号","材质","粒度备注"
        Case Else
            If r.IsNull(c.name) Then
                lst2.add(c.name)
            Else
                lst1.add(c.name)
            End If
    End Select
Next
lst1.sort
lst2.sort
Dim p As Integer = 4
For i As Integer = 0 To lst1.count -1
    e.Table.Cols(lst1(i)).Move(p)
    p = p + 1
Next
For i As Integer = 0 To lst2.count -1
    e.Table.Cols(lst2(i)).Move(p)
    p = p + 1
Next
e.Table.Select(e.Table.Rowsel,idx)
e.Table.ResumeRedraw


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


加好友 发短信
等级:小狐 帖子:383 积分:2757 威望:0 精华:0 注册:2011/9/1 14:26:00
  发帖心情 Post By:2013/5/4 9:09:00 [只看该作者]

狐爸爸,您给的代码非常好,但是有一个问题,我想当单击某一行把有的内容集中在前面,后面的没有内容列隐藏起来,要如何更改代码

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/4 11:56:00 [只看该作者]

For i As Integer = 0 To lst2.count -1
    e.Table.Cols(lst2(i)).Move(p)
    p = p + 1
Next


 

改为:

 

For i As Integer = 0 To lst2.count -1
    e.Table.Cols(lst2(i)).Visisble = False
Next

[此贴子已经被作者于2013-5-4 11:56:08编辑过]

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


加好友 发短信
等级:小狐 帖子:383 积分:2757 威望:0 精华:0 注册:2011/9/1 14:26:00
  发帖心情 Post By:2013/5/4 12:43:00 [只看该作者]

狐爸爸 您看看这是为什么
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20130504124243.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/4 12:45:00 [只看该作者]

e.Table.Cols(lst2(i)).Visible = False

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


加好友 发短信
等级:小狐 帖子:383 积分:2757 威望:0 精华:0 注册:2011/9/1 14:26:00
  发帖心情 Post By:2013/5/4 13:10:00 [只看该作者]

狐爸爸,还是要麻烦您一下,当我建立一个关联表,如何实现单击主表的一行,受到关联的表也会自动把有内容的列集中在一起。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:文件.table


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/4 17:26:00 [只看该作者]

你在"泥料配比_1"的CurrentChanged事件设置同样的代码。

但是需要判断一下是否存在当前行:

 

 

e.Table.StopRedraw
Dim lst1 As New List (of String)
Dim lst2 As New List (of String)
Dim r As Row = e.Table.Current

if r Is nothing Then

   Return

End if
Dim idx As Integer = e.Table.colsel
For Each c As col In e.Table.cols
    Select Case c.name
        Case "日期","计划号","材质","粒度备注"
        Case Else
            If r.IsNull(c.name) Then
                lst2.add(c.name)
            Else
                lst1.add(c.name)
            End If
    End Select
Next
lst1.sort
lst2.sort
Dim p As Integer = 4
For i As Integer = 0 To lst1.count -1
    e.Table.Cols(lst1(i)).Move(p)
    p = p + 1
Next
For i As Integer = 0 To lst2.count -1
    e.Table.Cols(lst2(i)).Move(p)
    p = p + 1
Next
e.Table.Select(e.Table.Rowsel,idx)
e.Table.ResumeRedraw


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


加好友 发短信
等级:小狐 帖子:383 积分:2757 威望:0 精华:0 注册:2011/9/1 14:26:00
  发帖心情 Post By:2013/5/5 10:19:00 [只看该作者]

狐爸爸,还有一件事就是在关联的时候,如果受到关联的表没有相同的内容,就会显示空白,但是在移动到有关联内容的时候就回不来了,一直是空白,这要怎么解决呢

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


加好友 发短信
等级:小狐 帖子:383 积分:2757 威望:0 精华:0 注册:2011/9/1 14:26:00
  发帖心情 Post By:2013/5/6 9:19:00 [只看该作者]

狐爸爸今天上班 ,8楼的代码是对的,但是一样就是在关联的时候,如果没有符合关联的内容后,表就全白了,而后就一直是白。这是为什么。

 回到顶部
总数 11 1 2 下一页