在cxGrid中,我有一个属性为Options.Editing:=False; Properties:=CheckBox
的列。因此,用户无法更改复选框的状态。但是复选框仍然具有自定义颜色,用户看不到他无法编辑它们。
如何在cxGrid列中使复选框变灰,哪一个无法编辑?
答案 0 :(得分:4)
您可以使用OnCustomDrawCell事件来绘制禁用的复选框。
答案 1 :(得分:2)
您可以在网格视图上创建一个OnCustomDrawCell事件,例如:
if not AViewInfo.Item.Options.Editing then
ACanvas.Brush.Color := clGray;
答案 2 :(得分:1)
不可编辑的列不会变为灰色。这适用于各种编辑器,无论是复选框,短信还是其他。该复选框有一个NullStyle属性,可以设置为nssGrayedChecked,但这只会显示为NULL值。
但是你还有其他一些选择。最简单的可能是将列设置为不可聚焦,以及不可编辑(Options.Focusing = false)。这可能会让您的用户更容易理解为什么他们无法更改价值。第二个最简单的选择是使用以某种方式表示禁用/不可编辑列的自定义样式,例如通过具有灰色背景颜色。
答案 3 :(得分:0)
使用cxStyleRepository
<TcxGridDbColumn>.styles.Content