[CLOSED] how can I get GridFilters NumericFilter value on code behind?

Page 2 of 2 FirstFirst 12
  1. #11
    Please clarify have you tried this?
    The only way is to send those values from client to server as extra parameters of a request.
    Also could you, please, clarify why you need a filter value on server? Do you want to filter the data on server side? If so, please look at this example.
    https://examples2.ext.net/#/GridPane...ilters_Remote/
  2. #12
    Remote filter using sample is;

    e.Parameters[this.GridFilters1.ParamPrefix]; using with "Store1_RefreshData(object sender, StoreReadDataEventArgs e)"


     protected void Store1_RefreshData(object sender, StoreReadDataEventArgs e)
        {
            List<object> data = FiltersTestData.Data;
    
            string s = e.Parameters[this.GridFilters1.ParamPrefix];
            //or with hardcoding - string s = e.Parameters["filter"];
    }



    can I do this under ext:button click event ?

    same as below
    how can I do this ?

    protected void exportToPdf(object sender, DirectEventArgs e) 
    {   
    //GridPanel is named MitigationCategories  
    //GridFilters is named filterGrid and contains 1 StringFilter against a DataIndex="FE".   
    //I would like to be able to determine if the the FE filter is active and if so what its value is.
    }
    Last edited by cottimucin; Aug 15, 2014 at 11:19 AM.
  3. #13
    This way:
    <ext:Button runat="server" Text="Export To pdf">
        <DirectEvents>
            <Click OnEvent="ExportToPdf">
                <ExtraParams>
                    <ext:Parameter 
                        Name="gridFilters" 
                        Value="App.GridPanel1.getFilterPlugin().buildQuery(App.GridPanel1.getFilterPlugin().getFilterData())"
                        Mode="Raw"
                        Encode="true"
                        />
                </ExtraParams>
            </Click>
        </DirectEvents>
    </ext:Button>
    protected void ExportToPdf(object sender, DirectEventArgs e)
    {
        string s = e.ExtraParams["gridFilters"];
    }
  4. #14

    Hi Daniil

    Hi Daniil,

    I do this

                                      <ext:Button ID="Button3" runat="server" Icon="Printer" Text="Yazdır">
                                      <DirectEvents>
                                      <Click  OnEvent="yazdir">
    
    <ExtraParams>   
                <ext:Parameter Name="gridFilters" Value="#{GridPanel1}.getFilterPlugin().buildQuery(#{GridPanel1}.getFilterPlugin().getFilterData())" Mode="Raw" Encode="true" />            
    </ExtraParams>
    
                                      </Click>
                                      </DirectEvents>
                                      </ext:Button>
    
           protected void yazdir(object sender, DirectEventArgs e)
            {
    
                string s = e.ExtraParams["gridFilters"];
    
    
                 //-- start filtering ------------------------------------------------------------
                if (!string.IsNullOrEmpty(s))
                {
                    FilterConditions fc = new FilterConditions(s);
    
                    foreach (FilterCondition condition in fc.Conditions)
                    {
                        Comparison comparison = condition.Comparison;
                        string field = condition.Field;
                        FilterType type = condition.Type;
    
                        object value;
                        switch (condition.Type)
                        {
                            case FilterType.Boolean:
                                value = condition.Value<bool>();
                                break;
                            case FilterType.Date:
                                value = condition.Value<DateTime>();
                                break;
                            case FilterType.List:
                                value = condition.List;
                                break;
                            case FilterType.Numeric:
                                value = condition.Value<int>();
                                break;
                            case FilterType.String:
                                value = condition.Value<string>();
                                break;
                            default:
                                throw new ArgumentOutOfRangeException();
                        }
    
                    }
                }
    }

    I get error message belove;

    Click image for larger version. 

Name:	ERROR.PNG 
Views:	9 
Size:	48.9 KB 
ID:	14541
  5. #15
    What is the content of the "s" variable when the Exception is thrown?

    Could you, please, provide a full test case?
  6. #16
    content of the "s" variable when the Exception is thrown

    "{\"filter\":\"[{\\\"type\\\":\\\"string\\\",\\\"value\\\":\\\"08107\\\",\\\"field\\\":\\\"KODU\\\"},{\\\"type\\\":\\\"numeric\\\",\\\"comparison\\\":\\\"eq\\\",\\\"value\\\":3247,\\\"field\\\":\\\"OGRELEMANIKODU\\\"}]\"}"




    button

     <ext:Button ID="Button3" runat="server" Icon="Printer" Text="Yazdır">
                                      <DirectEvents>
                                      <Click  OnEvent="yazdir">
    
    <ExtraParams>   
                <ext:Parameter Name="gridFilters" Value="#{GridPanel1}.getFilterPlugin().buildQuery(#{GridPanel1}.getFilterPlugin().getFilterData())" Mode="Raw" Encode="true" />            
    </ExtraParams>
    
                                      </Click>
                                      </DirectEvents>
                                      </ext:Button>
    
    
     protected void yazdir(object sender, DirectEventArgs e)
            {
    
                string s = e.ExtraParams["gridFilters"];
    
    
                 //-- start filtering ------------------------------------------------------------
                if (!string.IsNullOrEmpty(s))
                {
                    FilterConditions fc = new FilterConditions(s);
    
                    foreach (FilterCondition condition in fc.Conditions)
                    {
                        Comparison comparison = condition.Comparison;
                        string field = condition.Field;
                        FilterType type = condition.Type;
    
                        object value;
                        switch (condition.Type)
                        {
                            case FilterType.Boolean:
                                value = condition.Value<bool>();
                                break;
                            case FilterType.Date:
                                value = condition.Value<DateTime>();
                                break;
                            case FilterType.List:
                                value = condition.List;
                                break;
                            case FilterType.Numeric:
                                value = condition.Value<int>();
                                break;
                            case FilterType.String:
                                value = condition.Value<string>();
                                break;
                            default:
                                throw new ArgumentOutOfRangeException();
                        }
    
                    }
                }


    gridfilter

    
     <Features>
                                            <ext:GridFilters runat="server" ID="GridFilters1" Local="true">
                                                <Filters>
                                                    <ext:StringFilter DataIndex="KODU"/>
                                                    <ext:NumericFilter DataIndex="OGRELEMANIKODU"></ext:NumericFilter>
                                                </Filters>
                                            </ext:GridFilters>
                                        </Features>
    Last edited by cottimucin; Aug 19, 2014 at 6:16 AM.
  7. #17
    Please try the following.

    Replace
    Value="#{GridPanel1}.getFilterPlugin().buildQuery(#{GridPanel1}.getFilterPlugin().getFilterData())"
    with
    Value="#{GridPanel1}.getFilterPlugin().buildQuery(#{GridPanel1}.getFilterPlugin().getFilterData()).filter"
    and remove Encode-"true".
  8. #18
    thanks daniil everything is all right.
Page 2 of 2 FirstFirst 12

Similar Threads

  1. [CLOSED] Limiting NumericFilter to integers
    By kieron in forum 2.x Legacy Premium Help
    Replies: 5
    Last Post: Jun 18, 2013, 4:20 AM
  2. Remove gridfilters generated from code behind
    By mkshields9w57 in forum 1.x Help
    Replies: 1
    Last Post: Jun 04, 2012, 3:27 AM
  3. [CLOSED] Code Behind GridFilters
    By BravoTangoOscar in forum 1.x Legacy Premium Help
    Replies: 4
    Last Post: Jan 25, 2012, 7:52 PM
  4. Replies: 1
    Last Post: Oct 14, 2011, 3:53 PM
  5. [CLOSED] [1.0] NumericFilter
    By methode in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Apr 30, 2010, 3:59 AM

Tags for this Thread

Posting Permissions