C# 通过单击form2按钮删除数据网格视图行

C# 通过单击form2按钮删除数据网格视图行,c#,winforms,datagridview,click,C#,Winforms,Datagridview,Click,我有餐厅牌照(表格1)和主管无效通行证(表格2) 问题是我无法删除数据..(系统无法找到对象) 以我的表格(1) 这是我的datagridview 然后 在我的表单2中,这是我的代码,该代码用于删除每行的datagridview private void button8_Click(object sender, EventArgs e) { restaurantSale rs = new restaurantSale(); str

我有餐厅牌照(表格1)和主管无效通行证(表格2) 问题是我无法删除数据..(系统无法找到对象)

以我的表格(1) 这是我的datagridview

然后 在我的表单2中,这是我的代码,该代码用于删除每行的datagridview

 private void button8_Click(object sender, EventArgs e)
        {
            restaurantSale rs = new restaurantSale();
            string inpPass = "1234";
            if (voidPass.Text == inpPass)
            {

                MessageBox.Show("Void Success");
                foreach (DataGridViewRow row in rs.receiptGrid.SelectedRows)
                {
                    rs.receiptGrid.Rows.RemoveAt(row.Index);
                    rs.ShowDialog();
                    MessageBox.Show("Void Records");
                }

            }
        }
这条线

restaurantSale rs = new restaurantSale();
创建表单的新实例,而不是已打开(并包含一些数据)的实例

应改用现有表格。可以在
应用程序中找到它。OpenForms

restaurantSale rs = Application.OpenForms.OfType<restaurantSale>().FirstOrDefault();
if (rs == null) return;
restaurantSale rs=Application.OpenForms.OfType().FirstOrDefault();
如果(rs==null)返回;
在密码检查后初始化
rs
值也是有意义的(
if(voidPass.Text==inpPass)

这一行

restaurantSale rs = new restaurantSale();
创建表单的新实例,而不是已打开(并包含一些数据)的实例

应改用现有表格。可以在
应用程序中找到它。OpenForms

restaurantSale rs = Application.OpenForms.OfType<restaurantSale>().FirstOrDefault();
if (rs == null) return;
restaurantSale rs=Application.OpenForms.OfType().FirstOrDefault();
如果(rs==null)返回;

密码检查后初始化
rs
值(
if(voidPass.Text==inpPass)

)也是有意义的。那么您面临的问题是什么呢?这是因为您从按钮单击创建了一个新的form1,然后使用这个新form1,当然它在datagridview中没有数据。不要创建新的form1,而是使用现有的form1。那么您面临的问题是什么?这是因为您从按钮单击创建了一个新form1,然后您使用了这个新form1,它当然在datagridview中没有数据。不要创建新表单1,而是使用现有表单