Пример #1
0
        private void radGridView1_CustomFiltering(object sender, GridViewCustomFilteringEventArgs e)
        {
            if (string.IsNullOrEmpty(this.filterTextBox.Text))
            {
                e.Visible = true;

                for (int i = 0; i < this.radGridView.ColumnCount; i++)
                {
                    e.Row.Cells[i].Style.Reset();
                    e.Row.InvalidateRow();
                }
                return;
            }

            e.Visible = false;
            for (int i = 0; i < this.radGridView.ColumnCount; i++)
            {
                string text = e.Row.Cells[i].Value.ToString();
                if (text.IndexOf(this.filterTextBox.Text, 0, StringComparison.InvariantCultureIgnoreCase) >= 0)
                {
                    e.Visible = true;
                    e.Row.Cells[i].Style.CustomizeFill = true;
                    e.Row.Cells[i].Style.DrawFill      = true;
                    e.Row.Cells[i].Style.BackColor     = Color.FromArgb(201, 252, 254);
                }
                else
                {
                    e.Row.Cells[i].Style.Reset();
                    e.Row.InvalidateRow();
                }
            }
        }
Пример #2
0
            private void RadGridViewOnCustomFiltering(object sender, GridViewCustomFilteringEventArgs e)
            {
                if (RadGridView.FilterDescriptors.Count == 0)
                {
                    return;
                }

                var row = e.Row;

                foreach (var stringColumn in StringColumns)
                {
                    var filterDescriptors = RadGridView.FilterDescriptors.Where(
                        x => x.PropertyName == stringColumn).ToList();
                    if (filterDescriptors.Count != 1)
                    {
                        continue;
                    }
                    var filterDescriptor = filterDescriptors.First();
                    var cellValue        = ((string)row.Cells[stringColumn].Value).ToLowerInvariant();
                    if (filterDescriptor.GetType() == typeof(CompositeFilterDescriptor))
                    {
                        if (!CompositeFilterEvaluateString((CompositeFilterDescriptor)filterDescriptor, cellValue,
                                                           RadGridView.MasterTemplate.DataView.FilterEvaluate, row))
                        {
                            e.Visible = false;
                            return;
                        }
                    }
                    else if (!FilterEvaluateString(filterDescriptor, cellValue,
                                                   RadGridView.MasterTemplate.DataView.FilterEvaluate, row))
                    {
                        e.Visible = false;
                        return;
                    }
                }

                var nonStringFilterDescriptors = RadGridView.FilterDescriptors.Where(
                    x => !StringColumns.Contains(x.PropertyName));

                foreach (var filterDescriptor in nonStringFilterDescriptors)
                {
                    if (!RadGridView.MasterTemplate.DataView.FilterEvaluate(filterDescriptor, row))
                    {
                        e.Visible = false;
                        return;
                    }
                }
            }
Пример #3
0
        private void radGridView1_CustomFiltering(object sender, GridViewCustomFilteringEventArgs e)
        {
            if (string.IsNullOrEmpty(filterTextBox1.Text))
            {
                e.Visible = true;
                return;
            }

            e.Visible = false;
            for (int i = 0; i < radGridView1.ColumnCount; i++)
            {
                string text = e.Row.Cells[i].Value.ToString();
                if (text.ToLower().IndexOf(filterTextBox1.Text.ToLower(), StringComparison.InvariantCulture) >= 0)
                {
                    e.Visible = true;
                }
            }
        }
        void GridView_CustomFiltering(object sender, GridViewCustomFilteringEventArgs e)
        {
            string searchPattern = this.radTextBoxSearch.Text;

            bool isEmptyPattern = String.IsNullOrEmpty(searchPattern);

            e.Visible = isEmptyPattern;

            foreach (GridViewCellInfo cell in e.Row.Cells)
            {
                string value     = String.Empty;
                object cellValue = cell.Value;

                if (cellValue != null && !Convert.IsDBNull(cellValue))
                {
                    value = Convert.ToString(cellValue);
                }

                bool contains = false;

                if (!isEmptyPattern)
                {
                    contains   = value.Contains(searchPattern);
                    e.Visible |= contains;
                }

                gridView.MasterTemplate.SynchronizationService.SuspendEvent(KnownEvents.RowInvalidated);
                if (contains)
                {
                    cell.Style.CustomizeFill = true;
                    cell.Style.BackColor     = Color.FromArgb(201, 252, 254);
                }
                else
                {
                    cell.Style.Reset();
                }
                gridView.MasterTemplate.SynchronizationService.ResumeEvent(KnownEvents.RowInvalidated);
            }
        }
Пример #5
0
 private void radGridView1_CustomFiltering(object sender, GridViewCustomFilteringEventArgs e)
 {
 }