views:

2829

answers:

1

I want to add Devexpress GridControl dynamically. At runtime I want to show the Filter Row. Also I want to have a button on the form, that have the dynamically created GridCotrol, and when the button is clicked it should show the Filter Dialog popup for the grid control.

Thanks in advance for the help.

A: 

The provided sample does what you ask for.

  • Create a Form called Form1.
  • Create a Button called button1 and Dock it to the top of the form.
using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid;
using DevExpress.XtraGrid.Columns;

namespace Samples
{
    public partial class Form1 : Form
    {
        private GridControl grid;
        private GridView view;

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {            
            view.ShowFilterPopup(view.Columns[0]);                      
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            grid = new GridControl();
            view = new GridView();

            grid.Dock = DockStyle.Fill;
            grid.ViewCollection.Add(view);
            grid.MainView = view;

            view.GridControl = grid;
            view.OptionsView.ShowAutoFilterRow = true;
            GridColumn column = view.Columns.Add();
            column.Caption = "Name";
            column.FieldName = "Name";
            column.Visible = true;

            // The grid control requires at least one row 
            // otherwise the FilterPopup dialog will not show
            DataTable table = new DataTable();
            table.Columns.Add("Name");
            table.Rows.Add("Hello");
            table.Rows.Add("World");
            grid.DataSource = table;

            this.Controls.Add(grid);
            grid.BringToFront();
        }
    }
}

Manga Lee
Thanks for the reply. And how to show the "Filter Editor" on button click. The same one that appears when you click on "Edit Filer" in the filter panel of the gridcontrol.
Anshuman Roy
Ok , got it, it will be view.ShowFilterEditor(view.Columns[0]);Thanks
Anshuman Roy