我有一个带有 2 个网格的表单,显示使用 Devart UniQuery 上的主从选项选择的记录。这很好地显示了与主相关的详细记录。我可以选择使用过滤器选择记录(公司)。这是由 30 个按钮完成的,每个按钮上都有一个字母,然后当按下一个时,我使用此代码设置过滤器
procedure TfrmJsCompanies.ButtonClick(Sender: TObject);
var
ButtonValue: char;
FilterString: string;
begin
ButtonValue := (Sender as TcxButton).Caption[1];
FilterString := ButtonValue + '%';
with grdCompaniesView1.DataController.Filter.Root do
begin
Clear;
BoolOperatorKind := fboOr;
AddItem(colCompany_Name, foLike, FilterString, FilterString);
end;
grdCompaniesView1.DataController.Filter.Active := True;
grdCompaniesView1.FilterRow.Visible := False;
ActiveControl := grdCompanies;
end;
如果我这样做,我会得到我期望的结果,除非我首先按下一个按钮,该按钮给我有详细记录的主记录,然后按下一个没有给我主记录的按钮 - 在这种情况下,之前选择的详细记录仍然是显示在我的详细信息网格中
我能做些什么来摆脱这个?