Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
620
Open advanced filtering dialog programatically
posted

Hello.

I've a grid using advanced filter. I want to add a button in my page (outside the grid) that opens the filtering dialog. As I couldn't find any method in the documentation (http://help.infragistics.com/jQuery/2014.2/ui.igGridFiltering) I used this line:

grid.find(".ui-iggrid-filterbutton:first").click();

That wasn't very nice or clean but it worked. It also added a new condition for the filters with the first column selected. That happened because I was triggering the click in the filtering button of the first column's header. I wasn't very worried about it, I didn't think users would find that annoying.

After a few time I had to add Sorting feature to the grid. As the headers changed (now they have 'Feature Chooser Button') my code to open the dialog stopped working. I've tried a new workaround which was finding the filters li in the 'Feature Chooser Popover' and clicking it. However it doesn't work and I would like some clean solution that will not stop working when I change grid settings.

Summing up: how can I open the advanced filtering dialog programatically?

Thanks,

Diego

  • 18204
    Verified Answer
    Offline posted

    Hello Diego,

     

    The following forum thread shows that you can use the private _openFilterDialog() method and passing in the columnKey to open the advanced filter dialog for that column.

    http://www.infragistics.com/community/forums/t/89501.aspx

    This method does expect a browser event and may throw an error if one is not provided.  You can use the following code for example to pass an event from a button click:

    $("#btnTest").click(function(evt){
        $("#grid").data("igGridFiltering")._openFilterDialog(evt, "ProductName");
    });

    Since this is a private, undocumented function, it may be subject to change without warning.  I would recommend submitting a new product idea for a public API method to display the advanced filter dialog.

    You can suggest new product ideas for future versions (or vote for existing ones) at <http://ideas.infragistics.com>.

    There are many benefits to submitting a product idea:

    - Direct communication with our product management team regarding your product idea.

    - Notifications whenever new information regarding your idea becomes available.

    - 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.

    Steps to create your idea:

    1. Log into the Infragistics Product Idea 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!

    • Include a link to this thread in your idea so product management will be able to look back at this case.

    The Product Idea site puts you in the driver’s seat and 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.

    Thank you for contacting Infragistics.