应用一,表格所有行的颜色保持一致:

默认表格是区分奇偶行颜色的,

因为Grid.SelfOwnMaterial.IsDiffOddAndEvent默认是为True的,

效果如下:

如果要将所有行的颜色统一用白色的,

就需要将Grid.SelfOwnMaterial.RowBackColorMaterial.IsDiffOddAndEven设置为False,

背景色就没有了,这时候,

行的背景色由Grid.SelfOwnMaterial.RowBackColorMaterial.BackColor控制,

把它的IsFill设置为True,FillColor设置为White,

效果如下图所示:

这样,表格行的背景色就统计了

应用二,在运行时自定义行的颜色:

在OnPrepareDrawItem事件中,

根据Item来指定Grid.SelfOwnMaterial.RowBackColorMaterial.BackColor,

比如我们要把”李四”那一行的背景色设置为红色,代码如下:

procedure TFrameItemGrid_CustomRowColor.SkinFMXItemGrid1PrepareDrawItem(

Sender: TObject; ACanvas: TDrawCanvas; AItem: TBaseSkinItem;

AItemDrawRect: TRect);

begin

if TSkinItem(AItem).Caption=’李四’ then

begin

Self.SkinFMXItemGrid1.Material.RowBackColor:=TAlphaColorRec.Red;

end

else

begin

Self.SkinFMXItemGrid1.Material.RowBackColor:=TAlphaColorRec.White;

end;

end;

效果如下:

应用三,设置行选中的背景颜色:

行的背景颜色在Grid.SelfOwnMaterial.RowBackColorMaterial.BackColor,那么选中的颜色是在它的PushedEffect中,我们将选中的颜色设置为灰色:

先在设计时先”王一”那一行设置为选中,Item.Selected设置为True,

将Grid.SelfOwnMaterial.RowBackColorMaterial.BackColor.PushedEffect.FillColor设置为Gray,将BackColor.PushedEffect.EffectTypes中勾选drpetFillColorChange,表示选中的时候要改背景色变为灰色,

示例一,区分奇偶行的背景色

默认是区分厅偶行的背景色的,

Grid.SelfOwnMaterial.RowBackColorMaterial.IsDiffOddAndEven为True,

效果如下:

示例二,更改奇偶行的背景色

奇行背景色在Grid.SelfOwnMaterial.RowBackColorMaterial.OddRowBackColor中设置,

偶行背景色在Grid.SelfOwnMaterial.RowBackColorMaterial.EvenRowBackColor中设置,

我们把奇行背景色设置为绿色,偶行背景色设置为红色,

效果如下:

示例一,表格的行分隔线

默认是区分偶行的背景色的,所以没有加分隔线

先把区分奇偶行的背景色去掉,

Grid.SelfOwnMaterial.RowBackColorMaterial.IsDiffOddAndEven设置为False,

表格的分隔线在Grid.SelfOwnMaterial.DrawGridCellDevideMatrial中设置的,

IsDrawRowLine控制行分隔线是否显示,

DrawRowLineParam控制行分隔线的颜色,

IsDrawRowBeginLine用于控制行开始分隔线的显示

IsDrawRowEndLine用于控制行结束分隔线的显示

都设置为True,效果如下:

示例二,表格的列分隔线

表格的分隔线在Grid.SelfOwnMaterial.DrawGridCellDevideMatrial中设置的,

IsDrawColLine用于设置表格的列分隔线,

效果如下:

IsDrawColBeginLine用于控制列开始分隔线的显示

IsDrawColEndLine用于控制列结束分隔线的显示

效果如下: