从单独的表单中创建的数据集填充DataGridView

问题描述:

我有一个数据集在windows窗体内部创建,我们将调用form1。我希望这个数据集填充一个DataGridView,它以单独的形式存在,我们将称之为form2。从单独的表单中创建的数据集填充DataGridView

我试过设置这样的数据源,但它不工作,因为上下文不正确。

newShipmentGrid.DataSource = dataToWatch; 

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

+0

你是什么意思“的情况下是不正确” ......是错误您所看到的?更多的代码和细节肯定会帮助你获得有用的答案。 – 2013-02-25 15:44:57

+0

问:这是ASP.Net,WinForms还是WPF? – EtherDragon 2013-02-25 17:33:53

这里是一个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