Jump to content

[uniGUI 1.90.0 build 1568] How to change default labels for filters


bruno65

Recommended Posts

I use Delphi code (not extjs) 

JSConfigPlugin('Ext.grid.filters.Filters', ['id', 'gridFilters']);

So how can i translate in Delphi code ?

Quote
 fp.setConfig({menuFilterText: 'Фильтр'}

 

and is it possible to change labels inside default editors ? (see the screenshot above : example for date type)

Link to comment
Share on other sites

like this

  TUniFilterDBGridColumn = class(TUniDBDesktopGridColumn)
  private
    FFilter: String;
  public
    property Filter: String read FFilter write FFilter;
  end;
...
function TIUMGrid.CreateJSColumn(JSColumns: TUniJSGridColumns;
  Column: TUniBaseDBGridColumn; ADataSet: TDataSet): TJSGridColumn;
begin
  inherited;
  JSConfig('filter', [TUniFilterDBGridColumn(Column).Filter], Column.JSColumn);
end;
...
procedure TFrameListeCommun.CreateFilters;
var
  i:integer;
  FieldType: TFieldType;
  Column: TUniDBGridColumn;
begin
//  grdListe.JSInterface.JSConfigPlugin('Ext.grid.filters.Filters', ['id', 'gridFilters']);

  for i := 0 to grdListe.Columns.Count - 1 do
  begin
    Column := grdListe.Columns[i];
//    Column.Filtering.Enabled := True;
    Column.Sortable := True;

    FieldType := grdListe.DataSource.DataSet.FindField(Column.FieldName).DataType;

    case FieldType of
      ftString          : TUniFilterDBGridColumn(Column).Filter := 'string';
      ftDate, ftDateTime: TUniFilterDBGridColumn(Column).Filter := 'date';
      ftInteger, ftFloat: TUniFilterDBGridColumn(Column).Filter := 'number';
      ftBoolean         : TUniFilterDBGridColumn(Column).Filter := 'boolean';
      else
        TUniFilterDBGridColumn(Column).Filter := 'list';  // grdListe.JSInterface.JSConfig('filter', ['list'], Column.JSColumn);
    end;
  end;

end;

 

Link to comment
Share on other sites

1 hour ago, bruno65 said:
JSConfigPlugin('Ext.grid.filters.Filters', ['id', 'gridFilters']);

Can you check this?

JSConfigPlugin('Ext.grid.filters.Filters', ['id', 'gridFilters', 'menuFilterText', 'Filters!']);

 

Link to comment
Share on other sites

59 minutes ago, bruno65 said:
JSConfig('filter', [TUniFilterDBGridColumn(Column).Filter], Column.JSColumn);

Check if this will work.

JSConfig('filter', [TUniFilterDBGridColumn(Column).Filter], Column.JSColumn);
JSConfigObject('filter', 'fields', [JSStatement('{lt: { text: "Before!" }, gt: { text: "After!"}, eq: { text: "On!"}}')], Column.JSColumn); //add this...

 

Link to comment
Share on other sites

I do this changes in my code

function TIUMGrid.CreateJSColumn(JSColumns: TUniJSGridColumns;
  Column: TUniBaseDBGridColumn; ADataSet: TDataSet): TJSGridColumn;
var
  FieldType: TFieldType;
begin
  inherited;
  FieldType := DataSet.FindField(Column.FieldName).DataType;
  case FieldType of
    ftDate, ftDateTime:
      begin
        TUniFilterDBGridColumn(Column).Filter := 'date';
        JSConfigObject('filter', 'fields', [JSStatement('{lt: { text: "Avant" }, gt: { text: "Après"}, eq: { text: "Le"}}')], Column.JSColumn);
      end
  else
    JSConfig('filter', [TUniFilterDBGridColumn(Column).Filter], Column.JSColumn);
  end;

Strange the editor filter of date type is now a text editor

image.png.9925b94a90aed23a5cf520de347adb0f.png

Link to comment
Share on other sites

51 minutes ago, bruno65 said:

Strange the editor filter of date type is now a text editor

Ok, try this approach:

JSConfig('filter', [TUniFilterDBGridColumn(Column).Filter], Column.JSColumn);

JSConfigObject('filter', 'fields', [JSStatement('{lt: { text: "Before!" }, gt: { text: "After!"}, eq: { text: "On!"}}')], Column.JSColumn); //add this...

 

JSConfig('filter', [JSStatement('{type: "date", fields: {lt: { text: "Before!" }, gt: { text: "After!"}, eq: { text: "On!"}}}')], Column.JSColumn);

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...