示例#1
0
    protected void grid_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
    {
        if (e.Column.FieldName != "Value")
        {
            return;
        }

        if (e.Kind == GridViewAutoFilterEventKind.CreateCriteria)
        {
            int integerValue;

            if (Int32.TryParse(e.Value, out integerValue))
            {
                e.Criteria = (new OperandProperty("Value") >= integerValue) & (new OperandProperty("Value") < GetUpperLimit(integerValue));
            }
            else
            {
                e.Criteria = null;
            }
        }
        else
        {
            if (e.Criteria != null)
            {
                GroupOperator groupOperator = e.Criteria as GroupOperator;

                e.Value = ((groupOperator.Operands[0] as BinaryOperator).RightOperand as ConstantValue).ToString() + " - " +
                          ((groupOperator.Operands[1] as BinaryOperator).RightOperand as ConstantValue).ToString();
            }
        }
    }
    protected void gvClients_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
    {
        if (e.Kind != GridViewAutoFilterEventKind.CreateCriteria)
        {
            return;
        }
        CriteriaOperator co = CriteriaOperator.Parse(gvClients.FilterExpression);

        FindAndRemoveCustomOperator(ref co, e.Column.FieldName);

        FunctionOperator fo = null;

        if (e.Value.Length > 0)
        {
            fo = new FunctionOperator(FunctionOperatorType.Custom, EasySearchStatic.Name, e.Value, new OperandProperty(e.Column.FieldName));
        }
        if (!ReferenceEquals(co, null) || !ReferenceEquals(fo, null))
        {
            gvClients.FilterExpression = MergeCriterias(co, fo).ToString();
        }
        else
        {
            gvClients.FilterExpression = "";
        }
        e.Criteria = null;
    }
    protected void grid_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
    {
        if (e.Column.FieldName != "CategoryName")
        {
            return;
        }


        if (e.Kind != GridViewAutoFilterEventKind.CreateCriteria)
        {
            return;
        }
        if (e.Value == ShowAllFilterId)
        {
            Session[GetSessionFilterName(e.Column)] = null;
            e.Criteria = null;
        }
        else
        {
            Session[GetSessionFilterName(e.Column)] = e.Value;

            string         leftOperand  = "CategoryName";
            string         rightOperand = string.Format("%{0}%", e.Value);
            BinaryOperator op           = new BinaryOperator(leftOperand, rightOperand, BinaryOperatorType.Like);

            e.Criteria = op;
        }
    }
    protected void grid_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
    {
        if (e.Column.FieldName != "Roles")
        {
            return;
        }

        if (e.Kind == GridViewAutoFilterEventKind.CreateCriteria)
        {
            if (e.Value == "")
            {
                return;
            }
            string[] values   = e.Value.Split(',');
            string   criteria = string.Empty;

            GroupOperator group = new GroupOperator();
            group.OperatorType = GroupOperatorType.Or;
            foreach (string value in values)
            {
                string         leftOperand  = e.Column.FieldName;
                string         rightOperand = string.Format("%{0}%", value);
                BinaryOperator op           = new BinaryOperator(leftOperand, rightOperand, BinaryOperatorType.Like);
                group.Operands.Add(op);
            }
            e.Criteria = group;
        }
    }
    protected string UpdateGridFilterExpression(ASPxGridView grid, ASPxGridViewAutoFilterEventArgs e)
    {
        var gridCriteria = CriteriaOperator.Parse(grid.FilterExpression);

        gridCriteria = CriteriaVisitor.RemoveCustomFunction(gridCriteria, e.Column.FieldName);

        var customCriteria = new FunctionOperator(FunctionOperatorType.Custom, MyCustomFunctionOperator.Name, e.Value, new OperandProperty(e.Column.FieldName), new OperandProperty(OtherFilterColumnFieldName));

        if (ReferenceEquals(gridCriteria, null) && ReferenceEquals(customCriteria, null))
        {
            return(string.Empty);
        }
        return(GroupOperator.And(gridCriteria, customCriteria).ToString());
    }
 protected void grid_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
 {
     if (e.Kind == GridViewAutoFilterEventKind.CreateCriteria && e.Column.FieldName == "Country")
     {
         string oldValue = Session["CountryFilter"] != null ? (string)Session["CountryFilter"] : string.Empty;
         Session["CountryFilter"] = e.Value;
         if (!object.Equals(oldValue, e.Value))
         {
             var cityColumn = (GridViewDataComboBoxColumn)grid.DataColumns["City"];
             cityColumn.PropertiesComboBox.RequireDataBinding();
             grid.AutoFilterByColumn(cityColumn, string.Empty);
         }
     }
 }
示例#7
0
 protected void ASPxGridView1_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
 {
     if (string.IsNullOrEmpty(e.Value))
     {
         ViewState["needBind"] = false;
     }
     else
     {
         if (ASPxGridView1.DataSource == null)
         {
             ViewState["needBind"] = true;
         }
     }
 }
示例#8
0
 protected void ASPxGridView1_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
 {
     if (e.Column.FieldName != "Month")
     {
         return;
     }
     if (e.Kind == GridViewAutoFilterEventKind.CreateCriteria)
     {
         e.Criteria = new BinaryOperator(e.Column.FieldName, e.Value, BinaryOperatorType.Equal);
     }
     else
     if (e.Value != string.Empty)
     {
         e.Value = NumberMonthConverter.GetTitleOfMonth(Convert.ToInt32(e.Value));
     }
 }
    protected void grid_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
    {
        if (!IsCustomColumnFiltering(e.Column))
        {
            return;
        }
        if (e.Kind != GridViewAutoFilterEventKind.CreateCriteria)
        {
            return;
        }
        int selectedIndex;

        if (!int.TryParse(e.Value, out selectedIndex))
        {
            return;
        }
        if (selectedIndex == ShowAllFilterId)
        {
            Session[GetSessionFilterName(e.Column)] = null;
            e.Criteria = null;
        }
        else
        {
            Session[GetSessionFilterName(e.Column)] = selectedIndex;
            if (Equals(e.Column, grid.Columns["Quantity"]))
            {
                e.Criteria = new GroupOperator(GroupOperatorType.And,
                                               new BinaryOperator("Quantity", selectedIndex * IntStep, BinaryOperatorType.GreaterOrEqual),
                                               new BinaryOperator("Quantity", (selectedIndex + 1) * IntStep, BinaryOperatorType.Less));
            }
            if (Equals(e.Column, grid.Columns["UnitPrice"]))
            {
                e.Criteria = new BinaryOperator("UnitPrice", (selectedIndex + 1) * DecimalStep, BinaryOperatorType.Less);
            }
            if (Equals(e.Column, grid.Columns["CompanyName"]))
            {
                char[] values = GetSymbolValue(selectedIndex);
                e.Criteria = new GroupOperator(GroupOperatorType.And,
                                               new BinaryOperator("CompanyName", values[0], BinaryOperatorType.GreaterOrEqual),
                                               new BinaryOperator("CompanyName", values[1] + "zzz", BinaryOperatorType.Less));
            }
        }
    }
    protected void Grid_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
    {
        if (e.Column.FieldName == "Numbers")
        {
            switch (e.Kind)
            {
            case GridViewAutoFilterEventKind.CreateCriteria:
                CriteriaOperator co = CriteriaOperator.Parse(Grid.FilterExpression);
                if (co is GroupOperator)
                {
                    GroupOperator    go      = co as GroupOperator;
                    CriteriaOperator operand = go.Operands.Find(op => op.LegacyToString().Contains("MyNewFunction"));
                    if (operand is CriteriaOperator)
                    {
                        go.Operands.Remove(operand);
                    }
                    Grid.FilterExpression = go.LegacyToString();
                }
                else if (co is CriteriaOperator)
                {
                    string filter = co.LegacyToString();
                    if (filter.Contains("MyNewFunction"))
                    {
                        Grid.FilterExpression = string.Empty;
                    }
                }
                if (e.Value.Contains('-'))
                {
                    CriteriaOperator cop = new FunctionOperator(FunctionOperatorType.Custom, "MyNewFunction", e.Value, new OperandProperty("Numbers"));
                    e.Criteria = cop;
                }
                break;

            case GridViewAutoFilterEventKind.ExtractDisplayText:
            default:
                break;
            }
        }
    }
    protected void grid_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
    {
        if (e.Value == "|")
        {
            return;
        }

        if (e.Column.FieldName == "BirthDate")
        {
            if (e.Kind == GridViewAutoFilterEventKind.CreateCriteria)
            {
                String[] dates = e.Value.Split('|');
                Session["BirthDateFilterText"] = dates[0] + " - " + dates[1];
                DateTime dateFrom = Convert.ToDateTime(dates[0]), dateTo = Convert.ToDateTime(dates[1]);
                e.Criteria = (new OperandProperty("BirthDate") >= dateFrom) & (new OperandProperty("BirthDate") <= dateTo);
            }
            else if (e.Kind == GridViewAutoFilterEventKind.ExtractDisplayText)
            {
                e.Value = Session["BirthDateFilterText"].ToString();
            }
        }
    }
 protected void grd_DSUsers_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
 {
     Bindata();
 }
示例#13
0
 protected void GRIDITENSCONTRATO_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
 {
     atualizaGridItensContrato();
 }
 protected void grd_DSRole_ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
 {
     BindataThemNhanh();
 }
示例#15
0
 public static void ProcessColumnAutoFilter(object sender, ASPxGridViewAutoFilterEventArgs e)
 {
     e.Column.HeaderStyle.BackColor = ReferenceEquals(e.Criteria, null) ? ColorTranslator.FromHtml("#DCDCDC") : ColorTranslator.FromHtml("#87C4EE");
 }