给列绑定设计面板

  1. 添加一个列,标题取为”操作”,
  2. 拖一个设计面板在表格上,取名为idpOperation

  1. 放一个按钮在设计面板idpOperation中,命名为btnDelRow

  1. 整列就会显示成该设计面板的样子的

 

自定义每行设计面板的显示,比如指定某行按钮不可用

  1. 双击ItemGrid.OnPrepareDrawItem事件,

  1. 让Caption为”张三”的项的按钮可用,其他的项不可用

  1. 运行效果如下:

 

 

 

给设计面板上的控件添加事件,比如删除所在行

  1. 为了让按钮响应点击事件,需要将HitTest设置为True,不然不会响应
  2. 双击按钮btnDelRow的OnClick事件,写如下代码:

//删除所在行

Self.SkinFMXItemGrid1.Prop.Items.Remove(SkinFMXItemGrid1.Prop.InteractiveItem);

  1. SkinFMXItemGrid1.Prop.InteractiveItem表示按钮所在行。
  2. 点击之后,该行就被删除了

统计区也是不太常用的功能,在表格最底部多出一行来显示统计数据

我们在会简单使用表格的基础上来操作

  1. 给表格添加一列,年收入,用于显示Item中的Detail属性

给列表项的Detail设置值,

设置Grid的FooterRowCount为1,表示显示统计区

表格底下会多出一行,现在还是灰色的

将”年收入”这一列的FooterValueType设置为fvtSum,表示显示总收入,该列所有单元格值的总和

效果如下:

 

 

 

相关的绘制参数如下:

  1. FooterRowBackColorMaterial:统计区的行背景色素材

BackColor:单元格背景色,不区分奇偶行的情况下使用

IsDiffOddAndEven:是否区分奇偶行

EvenBackColor:偶行的单元格背景色

OddBackColor:奇行的单元格背景色

IsDiffFixedCols:是否区分固定列和非固定列

FixedColsBackColor:固定列的单元格背景色

FixedColsEvenBackColor:固定列偶行的单元格背景色

FixedColsOddBackColor:固定列奇行的单元格背景色

 

因为默认是区分奇偶行的,目前只有一行,所以要改统计区的行背景色,就改这个OddBackColor。

 

 

再来介绍Column的FooterValueType有如下几种类型,

  1. fvtNone:不统计
  2. fvtAverage:平均值
  3. fvtCount:行数
  4. fvtSum:总和
  5. fvtStatic:手动指定的值,FooterValue

 

Column的FooterValueFormat是指定显示格式,

比如%.2f,表示保留两位小数,因为显示的时候,是调用Fomat函数来显示的单元格内容的

 

 

我们将”姓名”列设置如下,让它在统计区显示字符串”统计区:”

“性别”列设置如下,让它显示行数,也就是记录数:

“年收入”列设置如下,让它显示总和,并且保留两位小数:

年龄列设置如下,让它显示平均值:

效果如下:

固定列也是不太常用的功能,将左边指定个数的列固定起来,水平滑动时保持不动。

我们在会简单使用表格的基础上来操作

  1. 将表格的FixedCols设置为1,表示左边第一列保持固定

你会发现,固定列的表头颜色变了,单元格的颜色也变暗了许多

默认ItemGrid水平方向是不允许越界滚动的,所以我们要开启它,

运行看一下效果,将表格水平向右拖动,可以看到左边的列没有移动,

 

 

 

相关的绘制参数如下:

  1. FixedColumnHeaderBackColor:固定列的表头背景色

  1. RowBackColorMaterial:行背景色

BackColor:单元格背景色,不区分奇偶行的情况下使用

IsDiffOddAndEven:是否区分奇偶行

EvenBackColor:偶行的单元格背景色

OddBackColor:奇行的单元格背景色

IsDiffFixedCols:是否区分固定列和非固定列

FixedColsBackColor:固定列的单元格背景色

FixedColsEvenBackColor:固定列偶行的单元格背景色

FixedColsOddBackColor:固定列奇行的单元格背景色

将表格水平向左拖动,可以看到位左边的列也没有移动,

指示列只是用于显示行号的,当然也可以通过添加一个列来解决,不过表格基本都是有这个功能的,所以单独做了这个功能。

我们在会简单使用表格的基础上来操作

  1. 将表格的IndicatorWidth设置为30

左边会多出一列来,但是行号没有显示出来

要将SelfOwnMaterial.IsDrawIndicatorNumber设置为True

 

 

 

相关的绘制参数如下:

  1. DrawIndicatorHeaderBackColor:指示区的背景色

左上角那一块的背景色

  1. DrawIndicatorNumberParam:指示区的文字绘制参数

  1. DrawIndicatorCellBackColorMaterial:指示区单元格的背景色

BackColor:单元格背景色,不区分奇偶行的情况下使用

IsDiffOddAndEven:是否区分奇偶行

EvenBackColor:偶行的单元格背景色

OddBackColor:奇行的单元格背景色

  1. DrawIndicatorDevideMaterial:指示区的分隔线绘制素材
  2. DrawIndicatorFooterCellBackColorMaterial:指示区下面统计区的背景色绘制素材
  3. IsDrawIndicatorNumber:是否绘制指示数字