以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于SQLTable型Table的两个问题?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=59747)

--  作者:ap9709130
--  发布时间:2014/11/10 13:23:00
--  关于SQLTable型Table的两个问题?

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

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

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


--  作者:有点甜
--  发布时间:2014/11/10 14:11:00
--  

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

 

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

 


--  作者:Bin
--  发布时间: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
--  发布时间:2014/11/10 14:31:00
--  

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

请看以下图片

 


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

 

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

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


--  作者:有点甜
--  发布时间:2014/11/10 14:38:00
--  
 呃,你这种问题,就不能用交替行做了,要自己利用drawcell去计算和设计行的样式
--  作者:ap9709130
--  发布时间:2014/11/14 10:17:00
--  

甜老师,

 

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


--  作者:有点甜
--  发布时间: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