問題タブ [xamdatagrid]
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# - MVVM を使用して、XamDataGrid の SelectedItems をパラメーターとして ContextMenu によって生成された Command に渡す方法は?
マウスを右クリックして ContextMenu を開く XamDataGrid の項目を渡そうとしています。これにより、ViewModel で Command が発生します。コマンドが呼び出すメソッドは、デバッグ モードでは到達できません。
これはビューから切り取ったものです
このビューに対応する ViewModel の私のコードは次のとおりです。
最後に、コマンドによって呼び出される実際のメソッドは次のとおりです。
ここで何が間違っているのかわかりません。どんな助けでも大歓迎です。
ありがとう、シュラヴァン
wpf - XamDataGrid コレクション列
XamDataGrid DataSource でコレクション列にバインドする方法はありますか?
私がやろうとしているのは、特定の列コレクションのすべてのアイテムを単一のグリッド フィールドに表示することです。(適切なテンプレートを使用)。
皆さんにとって意味があることを願っています。もう少し明確にする必要がある場合はお知らせください。
.net - MVVM の ObjectDataProvider は不要ですか?
CashFlowView、CashFlowViewModel、CashFlowModel の 3 つのクラスのみを使用して、単純な MVVM を作成しました。
インフラジスティックの 9.1 XamDataPresenter (または xamDataGrid) を使用します。
私のViewModel内:
ViewModel は、次の方法で View に接続されます。
グリッドを ObjectDataProvider に接続している限り、完全に正常に動作します。しかし、代わりに ViewModel 内のプロパティに接続できたらいいのにと思いました。
Infragistics によると、私がしなければならないのはこれだけです。
しかし、この場合、グリッド内の行を表すために、別の ViewModel のコレクションにバインドする必要があるようです。そして、それが私が混乱するところです。
私はこれを試しましたが、うまくいきません:
ViewModel の内部:
しかし、どうすれば 2 番目の ViewModel (CashflowDataGridViewModel) を作成できますか?
この2番目のViewModel内にこのプロパティを追加しようとしました:
しかし、私のビューに表示されるのは、実際のキャッシュフローモデルクラスの基になるヘッダーがない「キャッシュフロー」列ヘッダーだけです。
.net - MVVM-xamdatagridの実行時に列を作成する方法は?
xからyまでの時間枠の動的な列数を表示するXamDataGridを作成する必要があります。したがって、ユーザーがこれらの列を事前に作成するために何年を選択するかはわかりません。
通常、MVVM内では、XamDataGrid内の列に必要な数のプロパティを介してデータを入力するだけで、後者はそれらを自動生成します。
明らかに、Reflectionで何かおかしなことをしない限り、実行時にViewModel内にプロパティを作成することはできませんでした。
他にどのようにこれを達成しますか?
データグリッドのバインドされていないフィールドを作成し、コードで入力する必要がありますか?グリッドは読み取り専用であるため、この段階では双方向のバインディングは必要ないことに同意します...ただ大声で考えているだけです。
このアプローチは、MVVMパターンに違反することなく問題ありませんか?ありがとう
wpf - XAMLでXamDataGridの列幅を設定する
XAMLでXamDataGridの列幅を設定したいと思います。のような利用可能な幅プロパティはありません
これが私のサンプルコードです。
c# - ObservableCollection の変更された値を復元するにはどうすればよいですか?
私はObservableCollection<T>
クラスのを持っています。
私も持っていList<T>
ます。コレクションに取り込まれた XML タグと XML からのリストからデータを取得しています。
ここで、コレクション内のデータを変更します。古い値を復元しなければならないシナリオがありますが、最初にコレクションをクリアして追加すると、古い値が反映されます。例えば:
を介してコレクションの年齢が 35 から 45 に変更されましたXamDataGrid
。これで、リストの値は 35 になりました。
しかし、ここでは、値 35 が復元されていないことがわかります。誰かが私に理由を説明できますか?
wpf - WPF XamDataGrid: ユーザーが列を移動またはサイズ変更したときに発生するイベント
WPF XamDataGrid: ユーザーが列を移動またはサイズ変更したときに発生するイベントは?
列の位置と幅の詳細を保存できるように、ユーザーがこれらのいずれかを行ったかどうかを知りたいです。その後、後でユーザーがグリッドを開いたときに、選択した列幅と相対位置を復元できます。
c# - XamDataGrid: 2 つの列 (10 進データを表示) があります。「$」記号のある列とない列が必要です。どのように?
2 つのdecimal
データ型列があります。私はそれらを次のように表示したい:
- 列 1 (
ColumnWithNoDollarSign
)の値の前に「$」記号はありません - 列 2 (
ColumnWithDollarSign
) には、値の前に「$」記号が付きます
これは私のXAMLが現在どのように見えるかです:
問題は、私が見ているように、適用しているスタイルがすべての列XamCurrencyEditor
をオーバーライドしていることです。列decimal
の1つだけをオーバーライドしたい。decimal
どうすればこれを行うことができますか?
c# - 同じデータ型の XamDataGrid 階層構造
XamDataGrid-Topic の初心者です。現在、XamDataGrid をいじって、どのような機能が提供されているかを調べています。
すでに 2 つの質問があります。
次のような階層データがあります。
パブリック クラス TestDTO
{
public int ID { get; 設定; }
public string 説明 { get; 設定; }
public ObservableCollection チルドレン { get; 設定; }
}
私の Xaml FieldLayouts は次のようになります。
私のxamlが表示されません...
次のようなデータを表示したい:
列 ID | 列の説明
123 | 説明123
234 | 説明234
456 | 子の説明456
567 | 説明567
問題は、「parentLayout」だけが XamDataGrid によって使用されているようです。「childLayout」の変更は受け付けません。さらに、Column-Headers は子レベルに表示されますが、LabelLocation = Hidden です。トップレベルの dataType が子レベルと同じ場合、一般的な問題はありますか?
それは私の次の質問に私をもたらします:
ParentLayout の列を childLayout の列と同期することは可能ですか? したがって、それらは同じアライメントを持っていますが、expand-indicator はまだ意図されています。
前もって感謝します!
wpf - ユーザーの要求によって IValueConverter を呼び出すにはどうすればよいですか? [XamDataGrid レコード インデックス]
XamDataGrid コントロールに MS Excel のようなレコード インデックスを追加したいと考えています。このトリックには IValueConverter を使用します。この XAML コード幅でレコード インデックスを表示するためのテンプレートをいくつか定義します。
次のように定義された RowNumberConverter:
これは、XamDataGrid インスタンスにレコードを追加すると完全に機能しますが、データグリッドの任意のフィールドでデータを並べ替えると、レコード インデックスも並べ替えられます (並べ替えボタンを押しても値コンバーターは呼び出されません)。多分私はそれを手動で呼び出すことができますか?
アドバイスをありがとう、私の悪い英語を申し訳ありません。