0

form1 と呼ぶ Windows フォーム内に作成されているデータセットがあります。このデータセットを使用して、form2 と呼ぶ別のフォームに存在する DataGridView を設定します。

そのようにデータソースを設定しようとしましたが、コンテキストが正しくないため機能しません。

newShipmentGrid.DataSource = dataToWatch;

具体的には、「名前 newShipmentGrid は現在のコンテキストに存在しません」というエラーが表示されます。これは、Windows ページ フォーム アプリケーションです。

4

2 に答える 2

1

これは、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();
    }
于 2013-03-11T19:21:23.497 に答える
0

変数を 2 番目のフォームに渡してから、ページ読み込みイベントでグリッドを設定する必要があります。

ここに始めるのに良いリンクがあります:

http://msdn.microsoft.com/en-us/library/6c3yckfw(v=vs.100).aspx

于 2013-02-25T17:20:04.360 に答える