我有一个正在创建的数据集,我们将其称为 form1。我希望这个数据集填充一个 DataGridView,它存在于一个单独的表单中,我们将调用 form2。
我试过像这样设置数据源,但它不起作用,因为上下文不正确。
newShipmentGrid.DataSource = dataToWatch;
具体来说,我得到的错误是“名称 newShipmentGrid 在当前上下文中不存在”。这是一个 Windows 页面表单应用程序。
我有一个正在创建的数据集,我们将其称为 form1。我希望这个数据集填充一个 DataGridView,它存在于一个单独的表单中,我们将调用 form2。
我试过像这样设置数据源,但它不起作用,因为上下文不正确。
newShipmentGrid.DataSource = dataToWatch;
具体来说,我得到的错误是“名称 newShipmentGrid 在当前上下文中不存在”。这是一个 Windows 页面表单应用程序。
这是我的一些旧代码用于 Windows 窗体应用程序的一个非常简单的实现。构造函数将调用过程(另一种形式)中的 DataSet 作为唯一参数,将 DataSet 成员设置为参数的值,并使用“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();
}
您必须将变量传递到第二种形式,然后在页面加载事件中填充网格。
这是一个很好的链接:
http://msdn.microsoft.com/en-us/library/6c3yckfw(v=vs.100).aspx