开发者

Dynamically adding Devexpress GridControl to C# windows application

开发者 https://www.devze.com 2022-12-13 20:49 出处:网络
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 same form that has the dy开发者_如何学Gonamically created GridControl. W

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 same form that has the dy开发者_如何学Gonamically created GridControl. When the button is clicked it should show the Filter Dialog popup for the grid control.


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();
        }
    }
}

0

精彩评论

暂无评论...
验证码 换一张
取 消