Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将网格添加到MDI表单_C#_Winforms_Mdi - Fatal编程技术网

C# 将网格添加到MDI表单

C# 将网格添加到MDI表单,c#,winforms,mdi,C#,Winforms,Mdi,我不熟悉基于windows窗体的应用程序。所以,我开始做的是,我添加了一个mdi表单并单击子菜单项,例如:我有一个带有客户、产品子菜单的视图主菜单。当我单击产品时,我会得到一个充满数据集的网格。但问题是,网格没有显示任何数据。这就是我所做的: private void products_clicked(object sender, EventArgs e) { cmd = new SqlCommand("getProducts", conn); cmd.Comman

我不熟悉基于windows窗体的应用程序。所以,我开始做的是,我添加了一个mdi表单并单击子菜单项,例如:我有一个带有客户、产品子菜单的视图主菜单。当我单击产品时,我会得到一个充满数据集的网格。但问题是,网格没有显示任何数据。这就是我所做的:

private void products_clicked(object sender, EventArgs e)
{

       cmd = new SqlCommand("getProducts", conn);
       cmd.CommandType = CommandType.StoredProcedure;
       da = new SqlDataAdapter(cmd);
       ds = new DataSet();
       da.Fill(ds, "Productslist");

       dataGridView1.DataSource = ds;



}

我已经将gridview添加到mdiform中,我正在考虑在每次单击时更新它。那么,你能告诉我我现在的做法是否正确,并帮我做这个应用吗?

如果你做了一个仪表板一样的东西,那就没问题了。但如果您正在更新网格后端数据,则必须在每次更新时对其进行更新,并在mdi加载时加载。菜单上没有


关闭菜单上的所有其他表单,单击,而不是更新表格。

您将在哪里单击以更新?当我需要用productsk填充表格时,我单击子菜单项product。。对此,你怎么说:点击后添加一个新表单,并在其上创建一个网格,因为每次更新与网格相关的后端数据时,它都会被更新。。创建一个委托以更新MDI表单,并在正在更新数据的另一个表单上或在卸载更新表单时进行方法定义。试试这个。。这将使你的应用程序运行良好。。没有人喜欢一次又一次地点击菜单。。若看起来有点难,那个么创建另一个页面来显示网格中的数据。。取决于您的GUI考虑因素。。