問題タブ [ultrawingrid]
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.
winforms - BindingSource でバインドする UltraWinGrid のネストされたオブジェクト プロパティ
私は、ウルトラウィンググリッドを介してドメイン/オブジェクトデータをレンダリングしているwinformsアプリケーションに取り組んでいます。オブジェクトをグリッドにバインドするために bindingsource を使用しています。単純なオブジェクトの場合、これは非常にうまく機能します。
私が理解しようとしているのは、ネストされたオブジェクトを持つオブジェクトをレンダリングすることです。たとえば、Person クラスには Address クラスのプロパティがあります。Person クラスのプロパティと共に、Address (Street、City、Country) のプロパティをグリッドの列として表示したいと考えています。
グリッドは編集可能である必要があり、ユーザーの変更はドメイン オブジェクトに反映される必要があります (バインディング ソースを介して行っています)。
これについて最善の方法は何ですか?
c# - ユーザー コントロールのイベントが発生しない
グリッドといくつかのボタンを含むユーザー コントロールがあります。GridAfterRowActivate
ユーザー コントロールのイベントを宣言します。
このユーザー コントロールをフォームに追加しました。フォーム コンストラクターでグリッドを埋めると、GridAfterRowActivate
イベントが発生しません。しかし、グリッドを埋めるとForm_Load
、このイベントは正しく機能します。
c# - UltraWinGrid の列の順序を変更する
フォームに UltraWinGrid があり、ユーザーが列のシーケンスを変更できるようにしました。また、フォームに、このグリッドの DataSource を DataTable としてレポートを生成するクラスに送信するボタンがあります。次のコードを使用して、DataSource を DataTable にキャストしました。
しかし、問題は、この新しい DataTable の列のシーケンスが、ユーザーが設定した可視シーケンスではないことです... UltraWinGrid の DataSource を、画面上のグリッドに表示されるものに変更するにはどうすればよいですか??
c# - ウルトラグリッドとのデータ関係
私はこのようなデータテーブルを持っています:
マザーテーブルがあるウルトラグリッドでこれを見たい
と子テーブルは次のとおりです。
データリレーションを使用する必要があることは知っていますが、どうもありがとうございました。
infragistics - Infragistics UltraWinGrid 列レベルの CellChange イベント ハンドラー
UltraWinGrid の各列に特定の CellChange イベント ハンドラーを定義する方法はありますか?
次のような Infragistics UltraWinGrid の CellChange イベント ハンドラーをリファクタリングしています。
特定の列のセルが変更されたときに起動するイベント ハンドラーを作成できるようにしたいのですが、それが可能かどうかはわかりません。そうでない場合は、選択ケースをリファクタリングして、列固有のイベント ハンドラーを手動で呼び出すだけです。
特定の列のセルが変更されたときに発生するイベント ハンドラーを作成できるかどうか教えてもらえますか? それとも、列固有の関数を手動で呼び出す方がよいでしょうか?
infragistics - Ultrawingrid の列の値を変更する
データセットにバインドする Infragistics のウルトラウィング グリッドがあります。私がやりたいことは、コンバーターを適用したい列の 1 つです。つまり、たとえば略語を表示する列の場合、それぞれのフル ネームを表示したいと考えています。ここでこれを行う良い方法はありますか。私はWPFでコンバーターを使用できることを知っています。
ultrawingrid - 非表示の UltraGridRow インスタンスを取り除く
合計で数万行を表示するグリッドがあります。明らかに、ユーザーはいつでもそれらの行のごく一部、通常は約 10 ~ 20 行しか見ていません。
LoadOnDemandを有効にしました。これにより、UltraGridRowインスタンスと他のいくつかのオブジェクトは、可視領域に移動したときにのみ作成されます。
これは (私のメモリ プロファイラーによると) うまく機能しますが、テーブル全体を上下にスクロールすると、つまり、すべての行に対して UltraGridRows の作成をトリガーすると、すべての UltraGridRows が作成され、永久にメモリに残ります。
どうすれば (理想的には自動的に、そうでない場合は手動で)、表示されていない行の UltraGridRow オブジェクトを取り除くことができますか? (または、すべての UltraGridRows を取り除くだけで、いずれにせよ自動的に再作成されます)
私が考え出した1つの力ずくの方法はこれです:
ただし、いくつかの副作用が発生するため、UltraGridRows を取り除く他の方法はありますか?
ところで、私はこれら2人の男を試しましたが、成功しませんでした( boolパラメータに対してtrueとfalseを試しました)。
私はメモリ消費を抑えようとしていますが、現在 UltraGridRows が主な消費者です (UltraGridRows 自体は巨大ではなく、それぞれ 200 バイト未満しか消費しません。私の場合は数メガバイトを意味します。について話す)。
これは Infragistics 9.2 です。
何か案は?
c# - UltraWinGridのコンテキストメニューを元に戻す
グリッドに加えられた最後の変更を元に戻すために、UltraWinGridに[元に戻す]コンテキストメニューを表示しようとしています。コードは次のようになります。
しかし、それは望ましい結果を提供していません。カスタムクラスをこのグリッドにバインドしているため、DataTableのUndoChanges機能を使用できません
c# - UltraGrid-Row を DataBase にコミットした後、行が削除されることがある
問題:
情報の行をグリッドに直接追加し、データをキャッチしてDBにコミットすることで、データベースを更新しようとしています。
行を UltraGrid に挿入し、アプリケーションを閉じて再起動します... 行がコミットされることもあれば、アプリケーションを再起動すると、2 つ (非常に古いエントリ) を除くすべての新しいエントリが削除されることもあります。
ここに私のコードがあります:
新しく挿入された行への参照をキャッチします。
キーのテストと入力
キー = Enter の場合 新しく入力された ID 値を表示します MainActionsInsert() を介して DB に追加します // 以下
Command.ExecuteNonQuery を介して挿入コマンドを実行する
そして最後に
string - UltraWingrid - 文字列列の千区切り記号
Ultrawingrid に、整数データを含む文字列列があります。その列で千区切り記号を使用する必要があります。しかし、format プロパティを使用したときに、文字列列では機能しないことに気付きました。
誰かがそれを行う方法を知っていますか?