Hello, I've a grid with advanced filtering and in some cases I add filters programatically like this:
function createFilters(criteria) { var colSettings = $grid.igGridFiltering("option", "columnSettings"), filters = []; for (var i = 0; i < colSettings.length; i++) { var e = colSettings[i]; if (e.allowFiltering) { filters.push({ fieldName: e.columnKey, expr: criteria, cond: "contains", logic: "OR" }); } }); $grid.igGridFiltering("filter", filters, true);}
The problem is that the default value for the 'add condition' drop down is "ALL" and not "ANY". So if the user opens the dialog and applies it without changing anything, the results will change (I build the filters using OR logic, and the dialog specifies AND logic).
I want to be able to change programatically the selected value in 'add condition' drop down to "ANY". How can I do this?
Hello intecomp,
Thank you for posting in our forum!
To change the selected value for the applied condition in the advanced filter dialog you can use the filterDialogContentsRendered event, which fires after the content of the dialog are rendered and ready to be manipulated (http://help.infragistics.com/jQuery/2015.1/ui.iggridfiltering#events:filterDialogContentsRendered ). In that event handler you can get the select element from the dialog that determines the applied condition (Any or All) and set its value.
For example:
filterDialogContentsRendered: function (evt, ui) {
var dialog = ui.dialogElement;
var conditionList = $(dialog).find("div.ui-iggrid-filterdialogaddconditionlist > select");
conditionList.val("any");
}
Let me know if you have any questions or concerns regarding this.
Best Regards,
Maya Kirova
Hello Maya. That works and does exactly what I need, however it would be nice to be able to set it as a grid setting so that I shouldn't have to set it every time the dialog opens.
I’m just following up to see if you’ve been able to resolve your issue. If you have any questions or concerns or if you need further assistance please let me know.
Hello Maya, thanks for following up with the case. I could solve my scenario without any further problems. However I still think of this as a workaround and believe that there should be a setting in igGridFiltering.
You can suggest this as a new product ideas for future versions at <http://ideas.infragistics.com>.
Steps to create your idea:
1. Log into the Infragistics Product Ideas site at http://ideas.infragistics.com (creating a new login if needed).
2. Navigate to the product / platform channel of your choice (e.g. WPF, Windows Forms, ASP.NET, HTML5 / Ignite UI, iOS / NucliOS, etc.)
3. Add your product idea and be sure to be specific and provide as much detail as possible. Explain the context in which a feature would be used, why it is needed, why it can’t be accomplished today, and who would benefit from it. You can even add screenshots to build a stronger case. Remember that for your suggestion to be successful, you need other members of the community to vote for it. Be convincing!
The benefits of submitting the product idea yourself include:
- Direct communication with our product management team regarding your product idea.
- Notifications whenever new information regarding your idea becomes available.
Additional benefits of the product idea system include:
- Ability to vote on your favorite product ideas to let us know which ones are the most important to you. You will have ten votes for this and can change which ideas you are voting for at any time.
- Allow you to shape the future of our products by requesting new controls and products altogether.
- You and other developers can discuss existing product ideas with members of our Product Management team.
The product ideas site allows you to track the progress of your ideas at any time, see how many votes it got, read comments from other developers in the community, and see if someone from the product team has additional questions for you.
Let me know if there's anything else I can help you with.