上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    .net コンボボックスのプロパティー設定順序

    前回の記事の続き

    そして、DisplayMemberにセットした場合は
    System.Data.DataRowViewが入っているようだ。

    ValueMemberにセットした時はSelectedIndexChangedは呼ばれない。

    これも当然といえば当然であるような気がしてきた。

    まとめると、
    1.データセットが指定された段階で、とりあえず何らかのオブジェクトがセットされる。
    2.DisplayMemberが指定された段階で、SelectedValueで参照されるObjectが変更(修正)されることによりSelectedIndexChangedがコールされる。
    3.System.Data.DataRowViewはコンボボックス1行(表示情報と値)分のデータを持っているので、ValueMemberが変更されても、SelectedIndexに変更はない。
    4.したがって、SelectedIndexChangedはコールされない。

    というわけで、DisplayMemberとValueMemberをセットしてから、DataSourceをセットしてやればいい。
    書籍やサンプルには
    DataSource
    DisplayMember
    ValueMember
    の順番でプロパティのセットをしているが、なぜだろう?
    思わぬところで時間をとってしまった・・・

    コメントの投稿

    非公開コメント

    Google広告
    Amazon商品紹介
    Amazon
    楽天
    最新記事
    最新コメント
    最新トラックバック
    月別アーカイブ
    プロフィール

    アブラクサス太郎

    Author:アブラクサス太郎
    FC2ブログへようこそ!

    カテゴリ
    検索フォーム
    RSSリンクの表示
    リンク
    ブロとも申請フォーム

    この人とブロともになる

    QRコード
    QR
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。