Disable Advance filter or sort option

Hi all,

I need to disable the option Advance filter or sort in form, is that possible to disable or hide in one form or in every form

Issue is some form will show user specific data, if user used this advance filter or sort option they could see all user data. Is there any way to block this.

Thanks,
Jeevanandham S

It’s not a good solution and it would make the system much less useful.
You can lock a filter, so users can’t remove it, while they still can add additional filters, joins etc.
You can also apply data security to hide some data.

Thanks for the reply Martin.

In form there is a filter on left side pane and form grid filter in this both place i locked user editing, but users going on “options->Advance filter or sort” not able to lock user editing.

Is there any possibility to lock that filter too?

It seems to me that you didn’t lock the range correctly. If it’s locked, in can’t be removed, and it applies to all places.
Can you please show me how you did it?

Hi martin,


First image - Employee Id is non editable
Second image - Through Advance Filter or Sort option there i’m able to edit the values, if i reset the query and click OK then all employee details were showing in the listpage.

In form datasource executeQuery added the following code

            this.query().dataSourceTable(tableNum(TableName)).addRange(fieldNum(TableName,AttendanceDate)).value(SysQuery::range(FromDate.dateValue(), ToDate.dateValue())); this.query().dataSourceTable(tableNum(TableName)).addRange(fieldNum(TableName,EMployeeId)).value(HcmWorker.PersonnelNumber);
            this.query().dataSourceTable(tableNum(TableName)).addRange(fieldNum(TableName,AttendanceDate)).value(SysQuery::range(FromDate.dateValue(), ToDate.dateValue()));
            this.query().dataSourceTable(tableNum(TableName)).addSortField(fieldNum(TableName, AttendanceDate),SortOrder::Descending);
            this.query().dataSourceTable(tableNum(TableName)).addRange(fieldNum(TableName,IsApproved)).value(enum2Str(NoYes::Yes));
            this.query().dataSourceTable(tableNum(TableName)).addRange(fieldNum(TableName,EMployeeId)).status(RangeStatus::Locked);
             
            super();
            this.query().dataSourceTable(tableNum(TableName)).clearRanges();

Are you able to reproduce this problem on a standard form/data source? If so, we’ll be able to try it by ourselves. If not, it’ll suggest that something is wrong with your customization.

Thanks Martin,

Will check in standard form and come back…