1

Windows アプリケーションを作成していて、1 か所で立ち往生しています。私の問題はDataGridView、アイテムを選択してレコードを表示したいのですComboBoxが、適切な方法がわかりません。この問題を克服するために私を助けてください。

private void grid_Load(object sender, EventArgs e)
{
con = new SqlConnection(constr);

    try
    {
        con.Open();
        //this.studTableAdapter.Fill(this.pRJTestDBDataSet.stud);
        //above line show error for connection to database

        da = new SqlDataAdapter("SELECT stud_no FROM stud", con);
        DataTable dt = new DataTable();
        da.Fill(dt);
        comboBox1.DataSource = dt;
        comboBox1.DisplayMember = "stud_no";
        comboBox1.ValueMember = "stud_no";
        comboBox1.DataSource = dt;
        comboBox1.SelectedIndex = -1;
        comboBox1_SelectedIndexChanged(sender, e);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
    finally
    { con.Close(); }
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    this.studTableAdapter.Fill(pRJTestDBDataSet.stud);
    //above line show error for connection to database
}

上記のコードを試しましたが、ログインに失敗するなどのエラーが発生しません。

4

3 に答える 3

2
    cmd = new SqlCommand("SELECT stud_no FROM stud", con);
    da = new SqlDataAdapter(cmd);

    da.Fill(dt);
    Combobox1.DataSource = dt;
    Combobox1.DisplayMember = dt.Columns("Stud_no").ToString;
于 2012-09-10T08:30:16.823 に答える
0

バインドするデータによってコンボ ボックスの SelectedItemIndex 変更イベントごとに DataGrid を再バインドします。

于 2012-05-01T03:31:21.617 に答える