以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  记录窗口的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137204)

--  作者:happyft
--  发布时间:2019/6/30 12:37:00
--  记录窗口的问题
Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1")
rgd.Table = Tables(CurrentTable.name) \'指定绑定表
rgd.Build()
\'--让锁定列暗灰色显示
Dim t = rgd.basecontrol
For i As Integer = 0 To t.Rows.count-1
    If CurrentTable.Cols(t.Rows(i)(0)).AllowEdit Then
        t.SetCellStyle(i, 0, "")
    Else
        Dim cs1 As C1.Win.C1FlexGrid.CellStyle = t.Styles.Add("样式1")
        cs1.forecolor = Color.LightGray
        cs1.backcolor = Color.white
        t.SetCellStyle(i, 0, cs1)
    End If
Next

上述代码是根据才师的指点,当表中的列锁定时,如果打开记录窗口就让相应的锁定列显示为灰色的,现在出了个问题
如果打开的窗口表中的列设置了与列名不同的列标题,比如后台列名是净重,表标题设置为净重(KG),上述代码运行到红色就出错了
找不到列净重(KG),应该如何修改才保证现有的功能又不出错?
谢谢!

--  作者:有点甜
--  发布时间:2019/7/1 9:09:00
--  

1、根据标题,无法获取直接列名的。

 

2、你必须循环每一列,然后比较列的标题caption,如果等于 t.rows(i)(0) 那就获取那一列的信息。