Foxtable(狐表)用户栏目专家坐堂 → 关于 RecordGrid 的用法


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

主题:关于 RecordGrid 的用法

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/18 16:50:00 [显示全部帖子]

 1、

 

Dim rgd As object = Forms("窗口1").Controls("RecordGrid1").basecontrol

rgd.styles.Normal.backcolor = color.red
rgd.cols(1).textalign = 5

 

 

2、

 

Dim brgd = e.Form.Controls("RecordGrid1").basecontrol
Dim rng As C1.Win.C1FlexGrid.CellRange = brgd.GetCellRange(3, 1, 3, 1)
Dim cs1 As C1.Win.C1FlexGrid.CellStyle = brgd.Styles.Add("样式1")
cs1.TextAlign = 6
rng.style = cs1

 

 

3、本来就是继承你表格的控件,不能自己自定义控件。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/18 23:24:00 [显示全部帖子]

Dim brgd = e.Form.Controls("RecordGrid1").basecontrol
Dim rng As C1.Win.C1FlexGrid.CellRange = brgd.GetCellRange(0, 1, brgd.rows.count-1, 1)
Dim cs1 As C1.Win.C1FlexGrid.CellStyle = brgd.Styles.Add("样式1")
cs1.TextAlign = 5
rng.style = cs1

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/19 9:47:00 [显示全部帖子]

1、boolean无法对齐,这个没办法。

 

2、

 

Dim brgd = e.Form.Controls("RecordGrid1").basecontrol
For i As Integer = 0 To brgd.Rows.count-1
    Dim rng As C1.Win.C1FlexGrid.CellRange = brgd.GetCellRange(i, 1, i, 1)
    Dim cs1 As C1.Win.C1FlexGrid.CellStyle = brgd.Styles.Add("样式" & i)
    Dim cs As C1.Win.C1FlexGrid.CellStyle = rng.style
    If cs.datatype.ToString = Gettype(String).Tostring Then
        cs1.TextAlign = 1
    ElseIf cs.datatype.ToString = Gettype(Boolean).Tostring Then
        cs1.TextAlign = 7
    ElseIf cs.datatype.ToString = Gettype(Date).Tostring Then
        cs1.TextAlign = 7
    Else
        cs1.TextAlign = 7
    End If
    rng.style = cs1
Next

 


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/20 9:00:00 [显示全部帖子]

测试了一下,9楼的代码有效。

 

Public Sub TblBase_OwnerDrawCell(ByVal sender As Object, ByVal e As C1.Win.C1FlexGrid.OwnerDrawCellEventArgs)
    If e.Col >= sender.Cols.Fixed
        e.Style.BackColor = Color.red
    End If
End Sub


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/20 14:17:00 [显示全部帖子]

你在窗口的AfterLoad事件,写下面的代码即可

 

Dim brgd As C1.Win.C1FlexGrid.C1FlexGrid  = e.Form.Controls("RecordGrid1").basecontrol
AddHandler brgd.OwnerDrawCell, AddressOf TblBase_OwnerDrawCell
brgd.refresh


 回到顶部