在动态创建的表单上填充动态创建的DataGridView

时间:2016-11-05 08:51:50

标签: c# winforms datagridview visual-studio-2015

我有一个带有Menu的MDI表单,当Form Loads时,它会为DataSet中的每个表创建一个MenuItem。目的是用户选择一个MenuItem并打开相应的表单,添加一些布局项和一个显示基础表中数据的DataGridView。

我已经设法在动态创建的表单上创建DataGridView,并设法将其DataBinding设置为用户在MenuItem中选择的表。 (即我可以在网格顶部看到正确的列标题)

我想知道如何使用我的数据库中的数据填充DataGridView。我认为这与TableAdapters有关,但事实证明它们很神秘。

这是我的代码:

    private void formLoad(String formName,string formTag)
    {
        //Create a new form
        Form frm = new Form();
        frm.Text = "Manage " + formName + " (" + formTag + ")";
        frm.Size = new Size(900, 600);

        frm.MdiParent = this;
        frm.Show();

        //Add Table to form
        TableLayoutPanel tlpAdd = new TableLayoutPanel()
        {
            Dock = DockStyle.Fill,
            RowCount = 2,
            ColumnCount = 2,
            CellBorderStyle = TableLayoutPanelCellBorderStyle.Single

        };

        frm.Controls.Add(tlpAdd);
        //Data Grid

        DataGrid grdAdd = new DataGrid();
        DataSet ds = this.myDataSet1;

        grdAdd.SetDataBinding(ds, formTag);

        grdAdd.Name = formTag;
        grdAdd.AutoSize = true;
        grdAdd.Dock = DockStyle.Fill;

        tlpAdd.SetRow(grdAdd, 1);
        tlpAdd.SetColumn(grdAdd, 2);
        tlpAdd.SetRowSpan(grdAdd, 2);
        tlpAdd.Controls.Add(grdAdd);

        //Add FlowLayoutPannel for buttons
        FlowLayoutPanel flwAdd = new FlowLayoutPanel()
        {
            //AutoSize = true,
            Size = new Size(600, 25),
            Dock = DockStyle.Bottom,
            FlowDirection = FlowDirection.LeftToRight


        };
        tlpAdd.Controls.Add(flwAdd);
        tlpAdd.SetColumnSpan(flwAdd, 2);
        tlpAdd.SetColumn(flwAdd, 1);
        tlpAdd.SetRow(flwAdd, 2);

        //Add Data management Buttons etc to flow layout




    }

0 个答案:

没有答案