我有一个带有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
}