delphi listview1添加指定列_对表格的列进行批量处理的函数详解

Table.TransformColumns


Table.TransformColumns(table as table, transformOperations as list, optional defaultTransformation as nullable function, optional missingField as nullable MissingField.Type) as table

  • 第1参数是需要操作的表;
  • 第2参数是需要改变的列及操作(正常情况是由列名和操作函数组成,也可以是空列表);
  • 第3参是去除第2参数中指定后剩余的列所需要进行处理的函数;
  • 第4参数是找不到第2参数指定的列标题时是忽略处理(1)还是返回错误处理(0)。

例1:

此函数的必要参数只有2个,所以我们先用最基础的2个参数来进行操作。

f09ba9399eec9526e504c377706195ab.png

如果要把成绩统一减10分的话,那就在第2参数这里使用列名和对应的操作函数即可。

Table.TransformColumns(源, {"成绩", each _-10})
392e96c9d8cf7bffa6ee884dbafea676.png

例2

如果是需要进行多个列的操作,可以在第2参数中使用多次对应的写法,并在最外面用符号{}括起来。

如果除了成绩要减去10,还需要在学科后面加上字符“(上)”。

Table.TransformColumns(源,                      {                       {"成绩", each _-10},                       {"学科",each _&"(上)"}                      })
fdc7ef113f0d582fce9e3d66e1388bad.png

例3

第3个参数是一个函数,是在第2参数指定列以外表格中的所有列需要进行的操作。

在前面的操作中,成绩列和学科列都有了操作,那剩余其他列(姓名列)也需要进行操作,那就要使用到第3参数了。

Table.TransformColumns(源,                        {                         {"成绩", each _-10},                         {"学科", each _&"(上)"}                        },                        each _&"A"                      )
75648093de00fe144df177a59009c61f.png

例4

第3参数是针对除了第2参数指定的剩余列进行操作,那第4参数就是指定列如果找不到的话,是返回错误还是忽略错误。

如果第2参数的中的学科写错或者定义了其他未在操作表中的列名,则可以通过第4参数来控制返回。

Table.TransformColumns(源,                        {                         {"成绩", each _-10},                         {"班级", each _&"(一)"}                        },                        each _&"A",                        1                     )
f410374997164f446fc762d69cc4d0ea.png

因为指定的列里有 “班级”,但是在原来的表格中不存在,所以会产生错误,但是第4参数有指定1,也就是忽略错误,最终返回的结果如图所示。除了找到的成绩列表外,其余的列数据都在后面添加了个“A”。

0942c1d5613544b2a348222730530818.png

如果第4位参数指定的是0,或者省略默认,则会返回错误。

3004b528914bd5e7f024bd74476e5ad5.png

例5

如果是想让所有的列都进行同样的操作,也就是不指定列,使得把所有列都是作为其他列来处理,使用的是第3参数来进行操作的话,此时第2参数可以直接使用空列来表示,也就是不指定列。

Table.TransformColumns(源, {}, each _&"A")
a4472d981ef650edfa4567dc73e9a6da.png

因为使用的文本合并,而成绩是数字格式,所以导致出现错误值。

例6

因为第3参数是针对所有未指定的列来进行操作,如果有些指定列不想操作,只想保留的话,那指定列可以使用each _来进行保留。

Table.TransformColumns(源, {{"成绩", each _-10},{"姓名", each _}}, each _&"A")
8a795733b888d9b774ae44ba1e2c6ddf.png

如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值