WindowsフォームアプリケーションのラジオボタンにSQLテーブルをバインドしようとしています。C#のラジオボタンをSQLテーブルに簡単にバインドする方法
ボタンはグループボックスでグループ化されています。私はまだデータソースに正しくバインドする方法を見つけていません。私はカスタムコントロールを作成することでこれを行うことができた人がいることは知っていますが、より簡単な方法がありますか?
WindowsフォームアプリケーションのラジオボタンにSQLテーブルをバインドしようとしています。C#のラジオボタンをSQLテーブルに簡単にバインドする方法
ボタンはグループボックスでグループ化されています。私はまだデータソースに正しくバインドする方法を見つけていません。私はカスタムコントロールを作成することでこれを行うことができた人がいることは知っていますが、より簡単な方法がありますか?
編集:これはおそらくよりクリーンな方法です(テストはされていますが、うまくいくはずです)。
実際にはラジオボタンに直接(Binding
を使用して)バインドする必要がありますが、Binding.Parse
とBinding.Format
イベントを処理する必要があります。
'Format'イベントでは、Checkedプロパティを設定し、Parse
イベントでは、チェックされた値に基づいて値を保存します。
オリジナルのアイデア:カスタムコントロールまたはサブクラスを作成することなく、最も簡単な方法は、おそらく直接結合するのではなく、仲介者としての値を自分でロードして保存すること。
1つの方法である:
がBindingSource.CurrentItemChanged
イベントを購読するとChecked
特性に応じてラジオボタンを設定します。
RadioButton.CheckedChanged
イベントを購読し、基礎となるデータソースを適切に設定します。
これは私のはるかに良い解決策です!もちろん、それらのイベントの名前を覚えておく必要がありますが、それはエレガントです+1 – tekBlues
いいですね。ありがとう! - 私は+1を与えるだろうが、私はまだ資格情報がありません;) –
さらに良い音!どうもありがとう。 –
汚いトリックを使用しました。
隠しテキストボックスを作成します。それをデータソースにバインドし、ラジオボタンをアンバウンドのままにします。次に、textbox changeイベントをプログラムして、ラジオボタンの値とラジオボタンのクリックイベントを設定して、テキストボットの値を設定します。
汚いですが、動作します。
WTF!?! :D –
非常に賢い! :) –
それはかなり良いです... –
ラジオボタンをバインドしようとしていますか?グループボックスごとにテーブル内に複数のブール値の列がありますか? –
どのデータベースアクセステクノロジーを使用しますか? ADO.NET? LINQ to SQL?エンティティフレームワーク? –
ボタンの値は、テーブルの列挙型または1列に関連付けられているのか、一連の列でサポートされているのですか。 –