在选中复选框时,我尝试用一个字段过滤dataset,下面是我所组合的代码,我认为它是正确的,但它似乎不起作用,它带回了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;数据集中字段的名称称为“active”,它存储“true”或“false”的字符串。
任何帮助都将不胜感激。
谢谢,
发布于 2015-07-22 14:40:22
如果字段'active‘包含一个字符串,则应该编写:
Filter := ('active = ''true''');现在,您正在对布尔值True进行筛选。另外,为什么不为这个活动字段使用布尔/位字段呢?
发布于 2015-07-22 14:40:56
像这样改变过滤线
Filter := ('active = ''true''');https://stackoverflow.com/questions/31565957
复制相似问题