Skip to main content

Example: TcxDataFilterCriteria.OnGetValueList, TcxFilterValueList.FindItemByValue, TcxFilterValueList.FindItemByKind, TcxFilterValueList.Add, TcxFilterValueList.Delete

  • 2 minutes to read

The following code lists the TcxDataFilterCriteria.OnGetValueList event handler, which customizes a list of values for a filter condition. In the event handler, two elements are deleted from the list for the DBTableView1EmpNo column. The first element is of the fviValue type and represents the value 2. The second element is of the fviCustom type. Also a new user-defined item is inserted into the value list for the DBTableView1SaleDate column.

procedure TForm1.DBTableView1DataControllerFilterGetValueList(
  Sender: TcxFilterCriteria; AItemIndex: Integer;
  AValueList: TcxDataFilterValueList);
var
  AIndex: Integer;
begin
//change the value list for the DBTableView1EmpNo column
  if AItemIndex = DBTableView1EmpNo.Index then
  begin
    //delete item 2 from the value list
    AIndex := AValueList.FindItemByValue(2);
    if AIndex <> -1 then
      AValueList.Delete(AIndex);
    //delete item of the fviCustom kind from the value list
    AIndex := AValueList.FindItemByKind(fviCustom);
    if AIndex <> -1 then
      AValueList.Delete(AIndex);
  end;
  //add user-defined item to the value list for the 
  //DBTableView1SaleDate column
  if AItemIndex = DBTableView1SaleDate.Index then
    AValueList.Add(fviUser, '', 'Filter TODAY', True);
end;
See Also