1

こんにちは、「dataGridView1」というウィンドウ形式のデータグリッドがあり、dataGridView1 にコンボボックスがあります。データベースからコンボボックスにデータを表示しており、ウィンドウが読み込まれるとすべてのデータがそのコンボボックスに読み込まれます。そのための関数 LoadModels があります。表示したいModelNameの列が1つあり、valuememberにはMedelIDがあるため、ユーザーがコンボボックスからモデルを選択すると、「ModelID」と呼ばれるそのモデルのIDが表示されます。

public frmBikeOrder()
{
    InitializeComponent();
    StartPosition = FormStartPosition.CenterScreen;
    FormBorderStyle = FormBorderStyle.FixedSingle;
    ControlBox = false;
    LoadModels();
}

private void LoadModels()
{
    RST_DBDataContext conn = new RST_DBDataContext();
    List<TblBikeModel> AllModels = (from s in conn.TblBikeModels
                     select s).ToList();
    Column2.DataSource = AllModels;
    Column2.DisplayMember = "ModelName";
    Column2.ValueMember = "ModelID";
}

値が変更されたときの関数があり、コンボボックスの値が変更された後にメッセージボックスの値が欲しい

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
    if (e.ColumnIndex == 1)
       {
            ComboBox cmb =  ComboBox();
            MessageBox.Show(cmb.SelectedValue.ToString());
       }
}
4

2 に答える 2

0

コンボボックスのプロパティを次のように設定します。

        ModelComboBox.SelectedValuePath = "ModelID";
        ModelComboBox.DisplayMemberPath = "ModelName";

次に、ModelComboBox.SelectedValue は ModelID になります。

于 2013-09-16T06:58:23.813 に答える