Foxtable(狐表)用户栏目专家坐堂 → 关于SQLTable型Table的两个问题?


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

主题:关于SQLTable型Table的两个问题?

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
关于SQLTable型Table的两个问题?  发帖心情 Post By:2014/11/10 13:23:00 [只看该作者]

关于SQLTable型Table 我有两个问题想请教:

1。除了在窗口中设置select 语句外,能用代码动态的设置吗?

2。这类型的Table中设置了合并的行,如何请合并的行用交替行显示?


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


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

1、可以 http://www.foxtable.com/help/topics/1930.htm

 

2、不理解你什么意思,应该是做不到的

 


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


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

1.用Fill http://www.foxtable.com/help/topics/1930.htm
2.用代码设置一下这个表的交替行样式http://www.foxtable.com/help/topics/1577.htm

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2014/11/10 14:31:00 [只看该作者]

如果没有合并行是可以的,但是如果行合并了以后,会有点问题。经常不是交替行显示。

请看以下图片

 


图片点击可在新窗口打开查看此主题相关图片如下:1cb(pffa_1n_t0)wy7bl~(7.jpg
图片点击可在新窗口打开查看

 

订单号码和客户名称是合并行,他们交替显示经常会错。产品那边因为没有合并,所以交替没有问题。

有没有办法把合并的行也交替显示呢?


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


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

 呃,你这种问题,就不能用交替行做了,要自己利用drawcell去计算和设计行的样式

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


加好友 发短信
等级:六尾狐 帖子:1470 积分:11456 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2014/11/14 10:17:00 [只看该作者]

甜老师,

 

这种drawcell的代码要怎么写,能给个思路吗?


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


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

 测试了一下,用drawcell实现很不理想,而且效率也不高。

 

 建议一次性赋值。

 


Dim t As Table = Tables("表A")
static cs1 As C1.Win.C1FlexGrid.CellStyle = t.grid.Styles.Add("cs1")
static cs2 As C1.Win.C1FlexGrid.CellStyle = t.grid.Styles.Add("cs2")
cs1.BackColor = Color.Blue
cs2.BackColor = Color.White
Dim c As C1.Win.C1FlexGrid.CellStyle = cs2

For i As Integer = 1 To t.Rows.Count - 1
    If t.Rows(i)("第一列") <> t.Rows(i-1)("第一列") Then
        If c.BackColor = cs1.BackColor Then
            c = cs2
        Else
            c = cs1
        End If
    End If
    For j As Integer = 1 To t.Cols.Count
        t.Grid.SetCellStyle(i + 1, j, c)
    Next
Next


 回到顶部