問題タブ [datarepeater]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Microsoft.VisualBasic.PowerPacks.DataRepeater にバインドされたデータを即座に更新させる方法は?
ここでは、C# で記述された Windows フォーム アプリケーションについて説明します。単純なモデルを考える
Labelled
文字列プロパティを持つ単純なクラスと、型のメンバーを持つLabel
クラスがあり、これは のリストです。Model
SingularLabelled
Labelled
ListedLabelled
Labelled
次に、データをユーザーに表示したいと思います。これが私のセットアップです:
メイン ウィンドウには、TextBox
表示用SingularLabelled.Label
の とDataRepeater
、Visual Basic PowerPacks の要素のラベルを表示するための がありListedLabelled
ます。のItemTemplate
はDataRepeater
1 つの だけで構成されTextBox
ます。
一方向バインディングに焦点を当てましょう。つまり、ユーザーがテキスト ボックスの内容を変更したときに、基になるデータを更新したいと考えています。のLabel
プロパティはLabelled
、メッセージ ボックスの形式で通知を発生させるので、データがいつ更新されるかを正確に知ることができます。現在、矢印はバインディングを表しています。青い矢印はデータ ソースを表し、赤い矢印はデータ メンバーを表します。のインスタンスが作成され、メイン ウィンドウ フォームのコンストラクターで にModel
バインドされます。modelBindingSource
そして、ここで非常に重要なことに行き着きます。ユーザーが入力しているものと同期してデータをすぐに更新したいので、データ バインディングのデータ ソース更新モードが に設定されていることを確認しましたOnPropertyChanged
。ここで興味深いと思われる生成コードは次のとおりです。
これは、テキスト ボックスに入力するときに期待どおりに機能しますSingularLabelled
が、テキスト ボックス内のテキスト ボックスはDataRepeater
、フォーカスを失った場合にのみ更新をトリガーします。私は彼らが特異なもののように振る舞うことを望みます。理想的な解決策は、デザイナーを使用して行うことです。誰もこれを行う方法を知っていますか?
上記は、プログラムが動作するサンプルです。文字が入力されるたびに のラベルがどのように更新され、対応するテキスト ボックスがフォーカスを失った後、SingularLabelled
のメンバーが編集されたチャンク全体を更新するかに注目してください。ListedLabelled
datarepeater - Visual Studio 2010 の VB Datarepeater コントロール - マウスを使用すると、テキストボックスの終了イベントの前に currentItemIndex が更新される
Visual Studio 2010 でバージョン 10.0 の datarepeater コントロールを使用しています。マウスを使用して次の行に移動すると、テキスト ボックスを離れるイベントの前に CurrentItemIndex が更新されるようです。そのため、テキストボックスから値を取得すると、関連付けられている ItemIndex がわかりません。これは、キーボードを使用して次の行に移動する場合には発生しません。誰でもこれが起こるのを見ます。datarepeater のバージョン 9.0 はこのように機能しました。
c# - バインドされたデータに従ってデータ バインドされたコントロールをフォーマットする
次を使用して、リピーターでいくつかのデータを表示しています-
cbSchoolFriday がチェックされている場合、Picture Box pbFriday の背景色を赤に変更したいと考えています。これどうやってするの?
スクリーンショット -
ありがとう
c# - Win Forms: DataRepeater の UserControl のプロパティをコレクション項目自体にバインドする方法
Microsoft.VisualBasic.PowerPacks.DataRepeater
.Net 4.0 (c#) winforms プロジェクトでVisual Basic Power Packs ( ) のデータ リピーターを使用しています。私はそれDataSource
をジェネリックにバインドしています(プロパティを設定しています)List<T>
。T は私のビジネス クラスの 1 つにすぎません。
データ リピーターに配置したコントロールは UserControl です。UserControl には、 と呼ばれる T 型のパブリック プロパティがありMyItem
ます。
コレクション内の T 型の実際の項目に UserControlのプロパティをバインドしたいのですMyItem
が、うまくいきません。タイプ T のプロパティの 1 つにバインドできますが、コレクション アイテム自体にはバインドできません。コレクション全体にバインドしようとしているのではなく、データ リピーター (現在のアイテム) のその行に対応するコレクションのメンバーにバインドしようとしていることに注意してください。
これを機能させるには、メソッドのdataMember
パラメーターに何を入力すればよいですか? DataBindings.Add
私は試してみました"."
が、役に立ちませんでした。"/"
""
ここに私のコレクションオブジェクトがあります:
ここに私のユーザーコントロールがあります:
そして、これはデータリピーターを含むコントロール内の私のコードで、データリピーターにデータをロードする責任があります:
vb.net - DataRepeater を List(Of Object) 更新にバインドしますか?
List(Of Object) を DataRepeater にバインドする正しい方法は何ですか? これのサンプルコードを提供できますか?
私はこれについて頭を悩ませてきました.リピーターに表示するためにすでに満たされたリストを取得できますが、リストへのその後の変更はDataRepeaterに影響しません.
最終的には、可能であればこれを使用して辞書にバインドしたいと考えていますが、ここで基本を機能させることさえできません。
フォーム デザイン サーフェイスにデータ リピーターが追加され、ItemTemplate に 3 つのラベルと進行状況バーが表示されます。リストとリピーターをセットアップするために私が試みたコード(DutDataはDataRepeaterです)は次のとおりです。
次に、リスト アイテムの追加または削除をテストします。
.net - 項目をステップ実行する代わりに、DataRepeater からタブアウトする
DataRepeater にフォーカスがある場合、DataRepeater にリストされている各項目をタブで移動するのではなく、タブ キーでフォームの次のコントロールにフォーカスを移動したいと考えています。これどうやってするの?設定できるプロパティはありますか?
これまでのところ、キープレスイベントでタブキーをトラップし、次のように強制的に次のコントロールに移動しようとするいくつかのバリエーションを試しましたが、機能していません:
c# - datagridview の変更テーブルが埋め込まれたデータリピーター
datarepeater の各行に datagridview がある datarepeater があります。
最初のデータグリッドビューと2番目のデータグリッドビューにデータを追加すると、これが得られます-
次に、ページのさらに下にある datarepeater 行まで下にスクロールしてから、一番上までスクロールすると、次のようになります。
項目の位置が変更されていることに注意してください。多くの datagridviews に行を追加すると、スクロールすると非常に乱雑になります。
なぜこれが起こっているのでしょうか?