Delphi-RzDbgrid-绘制表格式设置某行颜色或者其他格式-以及隔行换色的属性
参考文章:https://www.cnblogs.com/OSKnown/p/8568740.html
在DbgridEh和原生的Dbgrid直接在DrawColumnCell事件中写重绘代码就好了,
但是使用Raize控件的RzDbgrid就不能出发事件,
根据上文的建议,将DefaultDrawing这个属性默认的True属性改为False属性,
然后在DrawColumnCell事件中写代码,就可以触发事件了。
不过新的问题出现,DrawColumnCell事件中写了测试代码,出现死循环,
1 procedure TFormSA.rzdbgrd1DrawColumnCell(Sender: TObject; 2 const Rect: TRect; DataCol: Integer; Column: TColumn; 3 State: TGridDrawState); 4 var i:Integer; 5 6 begin 7 With rzdbgrd1.datasource.dataset do begin 8 if StrToInt(rzdbgrd1.DataSource.dataset.FieldValues['项次'])=11 then 9 begin 10 rzdbgrd1.Canvas.brush.Color :=clRed; 11 end; 12 13 end; 14 rzdbgrd1.DefaultDrawColumnCell(Rect, DataCol, Column, State); 15 end;
循环条件,判断一下就好了。
RzDbgrid-隔行换色的属性:AltRowShading设置为True,单双行颜色设置一下就可以了。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步