0

フォームをロード/開くたびに、"System.Data.DataRowView" というプロンプトが表示されます。これを削除するにはどうすればよいですか?

これが私のコードです:

    {
        InitializeComponent();
        GetProcessorCardTypes();
    }

    private void GetProcessorCardTypes()
    {
        cn.Open();

        MySqlCommand cmd = new MySqlCommand("call GetProcessorMethod(1)", cn);
        MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        adapter.Fill(dt);

        cmbProcessorMethods.DataSource = dt;
        cmbProcessorMethods.ValueMember = "method_id";
        cmbProcessorMethods.DisplayMember = "method_name";
    }

    private void cmbProcessorMethods_SelectedIndexChanged(object sender, EventArgs e)
    {
        MessageBox.Show(cmbProcessorMethods.SelectedValue.ToString());
    }
4

1 に答える 1

1

メッセージ ボックスを完全に削除する場合は、cmbProcessorMethods_SelectedIndexChangedイベント ハンドラを削除します。method_nameまたは、選択した行の表示に変更できます。

private void cmbProcessorMethods_SelectedIndexChanged(object sender, EventArgs e)
{
     DataRowView row = (DataRowView)cmbProcessorMethods.SelectedItem;
     MessageBox.Show(row["method_name"].ToString());
}

Derek が指摘したように、データ ソースを割り当てる前にプロパティを設定するだけDisplayMemberValueMember、元のコードが機能します。

cmbProcessorMethods.ValueMember = "method_id";
cmbProcessorMethods.DisplayMember = "method_name";
cmbProcessorMethods.DataSource = dt;
于 2012-11-27T23:19:39.613 に答える