TCheckBox按字段过滤数据集

时间:2015-07-22 14:24:36

标签: delphi delphi-xe2 tcheckbox

我在勾选复选框时尝试按一个字段过滤数据集,以下是我放在一起的代码并且认为是正确但它似乎没有工作,它带回0记录。

procedure TfrmCustomers.cbClick(Sender: TObject);
if cbActive.Checked = True then
with dmod.cds do
begin
  DisableControls;
  try
    Filtered := False;
    FilterOptions := [foCaseInsensitive,foNoPartialCompare];
    Filter := ('active LIKE true');
    Filtered := True;
  finally
    EnableControls;
  end;
end;
end;

数据集中字段的名称称为“活跃”字样。它存储了一串真实的'或者' false'。

非常感谢任何帮助。

谢谢,

2 个答案:

答案 0 :(得分:3)

如果字段'active'包含字符串,则应写入:

Filter := ('active = ''true''');

现在你要过滤布尔值True。 另外,为什么不在此Active字段中使用布尔/位字段?

答案 1 :(得分:0)

像这样更改过滤行

Filter := ('active = ''true''');