以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 记录窗口锁定列的背景色设置 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=77656)
|
-- 作者:wyanji
-- 发布时间:2015/11/23 11:39:00
-- 记录窗口锁定列的背景色设置
我自建了一个记录窗口,希望已锁定的列对应的数据区背景色为灰色,请问该如何处理?
|
-- 作者:大红袍
-- 发布时间:2015/11/23 11:46:00
--
Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1") Dim t As Table = rgd.Table Dim g As object = rgd.basecontrol Dim cs1 As C1.Win.C1FlexGrid.CellStyle = g.Styles.Add("样式1") cs1.backcolor = Color.Gray For Each r As object In g.rows If t.cols(r(0)).AllowEdit = False Then g.SetCellStyle(r.index, 1, cs1) End If Next
|
-- 作者:wyanji
-- 发布时间:2015/11/23 13:09:00
--
此主题相关图片如下:1.png
此主题相关图片如下:2.png
我的主表中的每个列都有列名称和列标题,
把您的编码复制到项目中后,提示如上的错误。截图中的“销售合同编号”是我的主表中第一列的列标题。
请您再给看看,谢谢!
|
-- 作者:wyanji
-- 发布时间:2015/11/23 13:45:00
--
我把代码是加到窗口的Afterload事件中的,是不是这里做错了?
|
-- 作者:大红袍
-- 发布时间:2015/11/23 14:18:00
--
改一下
Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1") Dim t As Table = rgd.Table Dim g As object = rgd.basecontrol Dim cs1 As C1.Win.C1FlexGrid.CellStyle = g.Styles.Add("样式1") cs1.backcolor = Color.Gray For Each r As object In g.rows For Each c As Col In t.cols If c.name = r(0) Then If c.AllowEdit = False Then g.SetCellStyle(r.index, 1, cs1) End If Exit For End If Next Next
|
-- 作者:wyanji
-- 发布时间:2015/11/23 15:00:00
--
没有报错,但是也没有出希望的结果,您再帮忙看看,谢谢!
此主题相关图片如下:001.png
此主题相关图片如下:002.png
此主题相关图片如下:003.png
|
-- 作者:大红袍
-- 发布时间:2015/11/23 15:02:00
--
If c.name = r(0) Then
改成
If c.Caption= r(0) Then
|
-- 作者:wyanji
-- 发布时间:2015/11/23 21:31:00
--
可以了,非常感谢!
|
-- 作者:wyanji
-- 发布时间:2015/11/23 22:50:00
--
用了代码后,原来设置的数字格式没有了。
原来的格式:
此主题相关图片如下:11.png
用代码后的格式:
此主题相关图片如下:12.png
|
-- 作者:大红袍
-- 发布时间:2015/11/23 23:12:00
--
Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid1") Dim t As Table = rgd.Table Dim g As object = rgd.basecontrol For Each r As object In g.rows For Each c As Col In t.cols If c.caption = r(0) Then If c.AllowEdit = False Then Dim cs1 As C1.Win.C1FlexGrid.CellStyle = g.GetCellRange(r.index, 1).style cs1.backcolor = Color.Gray End If Exit For End If Next Next
|