人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

http://q.hatena.ne.jp/1188038837
の続きですが、どうやら原因はDBやDataSetがtinyint型なのに選択された値がString型だから、Comboboxで選択した瞬間、アプリの動作が停止してしまうようでした。ためしにDisplayMemberをValueMemberと同じ値にすると動きました。しかし表示したい値と入力される値を変えたいのでこれでは意味がありません。DBやDataSetの型を文字列系にすればいいと思われますが、使用する値はリレーションされたテーブルのIDなためDataSetでAutoIncrementされています。なのでSystem.Int32という型以外指定できません。このような場合どうされているのでしょうか?

●質問者: artsnet111
●カテゴリ:コンピュータ
✍キーワード:dB String アプリ リレーション 入力
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● thrillseeker
●0ポイント

確認ですが、ValueMember や DisplayMember には DataSource

としているテーブルの「カラム名」を string で指定していますよね?

例えばテーブル内に以下の2つのカラムが有る場合、

(1) [カラム名] ID [型] int [値] 0,1,2,3,4,5

(2) [カラム名] NAME [型] string [値] いち,に,さん,し,ご

this.comboBox1.ValueMember = "ID";
this.comboBox1.DisplayMember = "NAME";

となるはずです。

◎質問者からの返答

はい、文字列で指定しています。


2 ● freemann
●70ポイント

以下のようにすればいけるようです。

(1)CategoriesとTestの二つのテーブルのデータソースを作る。

(2)Testのデータソースをテキストボックスでフォームにドラッグ&ドロップしてBindingNavigatorを作っておく。

(3)ツールボックスからコンボボックスを選択し、フォームに作っておく。(comboBox1)

(4)comboBox1のDataSourceにCategoriesデータソースを指定し、DisplayMemberにCategoryNameを、ValueMemberにCategoryIDを設定する。

(5)以下のコードを追加する。

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)はコンボボックスのイベント

private void bindingNavigatorPositionItem_TextChanged(object sender, EventArgs e)は、BindingNavigatorのレコード番号指定のテキストボックスのイベント

です。

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

{

if (comboBox1.SelectedValue != null)

{

cat_idTextBox.Text = comboBox1.SelectedValue.ToString();

}

}


private void bindingNavigatorPositionItem_TextChanged(object sender, EventArgs e)

{

try

{

if (cat_idTextBox.Text != null || cat_idTextBox.Text != "")

{

comboBox1.SelectedValue = Convert.ToInt32(cat_idTextBox.Text);

}

else

{

comboBox1.SelectedValue = 0;

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

(注意)

cat_idのテキストボックスは最初見えるようにしていて、うまく動くか確認して、そのあとVisibleをfalseにして見えないようにしておくとよいと思います。

◎質問者からの返答

思うような動きができました。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ