根据另一列的值决定本列的值是否显示(GetDisplayText)

在 GetDisplayText 事件中写入以下代码,可以在两列值相等时隐藏一列的值。需要注意的时,当焦点在被隐藏数据的单元格时,仍然会显示数据;焦点移出后,数据又会自动隐藏。为了解决此问题,对于只读的表格,简单地设置 <AView>.OptionSelection.CellSelect 为 False 即可,或者设置该列为只读 <AColumn>.options.Editing=False。

procedure TfrmFapiaoDetail.cvFapiaoDetailsFapiaoPriceGetDisplayText(
  Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
  var AText: String);
begin
  with ARecord do
    if Values[cvFapiaoDetailsOrderPrice.Index] = Values[Sender.Index] then
      AText := '';
end;
posted @ 2024-11-16 10:19  汉学  阅读(38)  评论(0)    收藏  举报