delphi DBGridEh 问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi DBGridEh 问题相关的知识,希望对你有一定的参考价值。

DBGridEh的OnGetCellParams事件中
if qymst.FieldByName('spunit').AsString = 'm' then
begin
dbgrideh1.FieldColumns['pcs'].Font.Color := clred;
end
else
dbgrideh1.FieldColumns['pcs'].Font.Color := clnone;为什么当spunit <> m 的时候怎个网格都在闪

OnGetCellParams事件是会一直运行的(相当于刷新),如果你这里要当qymst.FieldByName(\'spunit\').AsString = \'m\'时才改变字体的颜色为红色,那么你完成可以设置所有字体的颜色为clnone,然后将事件改为:
if qymst.FieldByName(\'spunit\').AsString = \'m\' then
begin
dbgrideh1.FieldColumns[\'pcs\'].Font.Color := clred;
end;
这样就好了。
参考技术A 因为一直在重复赋值。当spunit <> m 的时候,字段pcs的字体颜色为空。但是你代码不该放在getcellparams事件中,建议放在DataSource的 dataChange事件中。

以上是关于delphi DBGridEh 问题的主要内容,如果未能解决你的问题,请参考以下文章

你好,请教个问题,就是delphi中DBGridEh的统计行数据如何实现的

delphi 把EXCEL数据导入到DBGRIDEH

delphi, 怎样让dbgrideh只剩下已选行?

delphi DBGridEH控件的checkbox如何判断是不是选中,求指导 !

delphi 怎样使dbgrideh 中符合某个条件的记录不能修改

delphi dbgrideh部分导出excel出错