C# 从以单独形式创建的数据集填充DataGridView

C# 从以单独形式创建的数据集填充DataGridView,c#,datagridview,C#,Datagridview,我有一个在windows窗体中创建的数据集,我们称之为form1。我希望此数据集填充DataGridView,它以单独的形式存在,我们称之为form2 我曾尝试过这样设置数据源,但由于上下文不正确,因此无法正常工作 newShipmentGrid.DataSource = dataToWatch; 具体地说,我得到的错误是“名称newShipmentGrid在当前上下文中不存在”。这是一个Windows页面表单应用程序。您必须将变量传递到第二个表单中,然后在页面加载事件中填充网格 以下是一个很

我有一个在windows窗体中创建的数据集,我们称之为form1。我希望此数据集填充DataGridView,它以单独的形式存在,我们称之为form2

我曾尝试过这样设置数据源,但由于上下文不正确,因此无法正常工作

newShipmentGrid.DataSource = dataToWatch;

具体地说,我得到的错误是“名称newShipmentGrid在当前上下文中不存在”。这是一个Windows页面表单应用程序。

您必须将变量传递到第二个表单中,然后在页面加载事件中填充网格

以下是一个很好的链接:


这是一个非常简单的实现,它来自我的一些旧代码,用于Windows窗体应用程序。构造函数将调用过程(另一种形式)中的数据集作为唯一参数,将数据集成员设置为参数的值,并使用“FillDataGrid”方法填充数据集。希望这对你有所帮助

public partial class HistForm : Form
{
    DataSet data;

    public HistForm(DataSet ds)
    {
        data = ds;
        InitializeComponent();
        FillDataGrid();            
    }

    private void FillDataGrid()
    {
        dataGridView1.DataSource = data.Tables[0];
    }
}
此表单的调用方法:

private void btnHist_Click(object sender, EventArgs e)
    {
        DataSet tempDataSet = new DataSet();
        tempDataSet = userData;
        tempDataSet.Tables[0].Columns.RemoveAt(1); //remove columns 0 and 1 for display purposes
        tempDataSet.Tables[0].Columns.RemoveAt(0);
        HistForm hForm = new HistForm(tempDataSet);
        hForm.Show();
    }

“上下文不正确”是什么意思。。。这就是你看到的错误吗?更多的代码和细节肯定会帮助您获得有用的答案。问题:这是ASP.Net、WinForms还是WPF?