Devexpress 在运行时创建并填充gridcontrol

Devexpress 在运行时创建并填充gridcontrol,devexpress,Devexpress,我在winform中有一个项目,表单中有各种表单。我需要创建一个弹出窗口,用于单击弹出窗口中出现的按钮,并在运行时创建一个GridControl并填充以前创建的数据表。执行此操作时,GridControl显示为空,我可以做什么 这里我留下密码 ToolStripDropDown popup = new ToolStripDropDown(); popup.Margin = Padding.Empty; popup.Padding = Padding

我在winform中有一个项目,表单中有各种表单。我需要创建一个弹出窗口,用于单击弹出窗口中出现的按钮,并在运行时创建一个GridControl并填充以前创建的数据表。执行此操作时,GridControl显示为空,我可以做什么

这里我留下密码

        ToolStripDropDown popup = new ToolStripDropDown();
        popup.Margin = Padding.Empty;
        popup.Padding = Padding.Empty;

        Inventario_MediosDataSet.MedioDataTable m = new Inventario_MediosDataSet.MedioDataTable();
        this.medioTableAdapter1.Fill(m);
        DevExpress.XtraGrid.GridControl ki = new DevExpress.XtraGrid.GridControl();
        DevExpress.XtraGrid.Views.Grid.GridView grid = new DevExpress.XtraGrid.Views.Grid.GridView(ki);
        ki.DataSource = m;
        ToolStripControlHost host = new ToolStripControlHost(ki);
        host.Margin = Padding.Empty;
        host.Padding = Padding.Empty;
        popup.Items.Add(host);
        popup.Show(this, simpleButton7.Location);

ToolStripControlHost不为网格提供BindingContext。您也可以在DataGridView中看到相同的行为。要解决此问题,请将GridControl.BindingContext设置为表单BindingContext

ToolStripDropDown popup = new ToolStripDropDown();
popup.Margin = Padding.Empty;
popup.Padding = Padding.Empty;
Inventario_MediosDataSet.MedioDataTable m = new Inventario_MediosDataSet.MedioDataTable();
this.medioTableAdapter1.Fill(m);
DevExpress.XtraGrid.GridControl ki = new DevExpress.XtraGrid.GridControl();
DevExpress.XtraGrid.Views.Grid.GridView grid = new DevExpress.XtraGrid.Views.Grid.GridView(ki);
ki.MainView = grid;
// --------------------
ki.BindingContext = this.BindingContext;
// --------------------
ki.DataSource = m;
ToolStripControlHost host = new ToolStripControlHost(ki);
host.Margin = Padding.Empty;
host.Padding = Padding.Empty;
popup.Items.Add(host);
popup.Show(this, simpleButton1.Location);

@LecsyOlivera如果对我有效,请将我的答案标记为解决此问题的解决方案,