問題タブ [xceed-datagrid]
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# - Xceed DataGrid for WPFのすべてのセルをループしますか?
ユーザーが編集を行ったときに、セルの背景色を変更しています。変更が保存された (または元に戻された) ときに、すべてのセルを通常の色に戻したいと思います。
セルの元の背景色 (親行に格納されている) を設定するのは簡単です。しかし、テーブル内のすべてのセルをループしてリセットする方法がわかりません。
Xceedナレッジベースで「グリッドの行を反復処理する方法」という記事を見つけました...これは完璧だと思いますよね? 違う; この記事で言及されている 、 などのプロパティ (またはメソッド) は.DataRows
、古い/廃止された Xceed 製品のものです。.FixedHeaderRows
このフォーラム スレッドでは、DataGrid の .Items プロパティを使用することを推奨しています。このプロパティは、私の場合はSystem.Data.DataRowViewのコレクションを返します...しかし、それ (または関連する要素) をXceed.Wpf.DataGrid.DataCell s 背景色を変更する必要があります。
つまり、背景のプロパティをリセットできるように行とセルをループするにはどうすればよいですか?
c# - XceedDataGridSelectedItemの問題
私のプロジェクトには、多くのレコードとレコードの詳細を持つデータソースにバインドされたXceedデータグリッドがあります。ユーザーが特定の列で特定の詳細を検索できるようにするコンテキストメニューオプションを作成しようとしています。機能を正常に完了しましたが、問題を引き起こしているUI部分があります。つまり、C#で行を選択したときに、その行が表示されていない場合、その行はフォーカスされません。したがって、ユーザーは上下にスクロールして、詳細が展開された行を探す必要があります。
SelectedRowを設定し、次のように詳細を展開できます。
ここで、userColumnとuserValueは、メソッドで以前に設定されています。
SelectedItemを設定して詳細を展開した後、グリッドを行にフォーカスさせるにはどうすればよいですか?
ありがとう、
パトリック
wpf - Xceed DataGrid for WPF の LicenseException
Xceed の優れた WPF 用 DataGrid (UX Edition バージョン 3.7) を使用して、単純な DB 編集アプリを開発しました。これは、展開の準備ができています。ライセンスが無効なため、ランタイム例外が発生します。
次のように、Xceed docs で指定されているとおりに、ライセンス キーを App.xaml.cs に含めました。
正しいバージョンの DataGrid DLL がセットアップとアプリケーションのプログラム ディレクトリに含まれており、ターゲット マシンに他のバージョンはありません。
デバッグでは、コードが DataGrid を使用しようとしたときにスローされる LicenseException 以外に役立つものは何も表示されず、「Xceed.Wpf.DataGrid.Licenser.LicenseKey プロパティは、この製品を使用する前にアプリケーションのコード...」
ここで何がうまくいかないのですか?
wpf - XceedDataGridがScrollBarの位置をリセットします
Xceed DataGridControlでItemsSourceを変更すると、垂直および水平のスクロールバーがすぐに左上にリセットされます。
それを防ぐ方法はありますか?
wpf - Xceed DatagridのCellErrorStyleを変更するにはどうすればよいですか?
そのため、Xceedのドキュメントには、私には機能しないコード例があります。グリッドがDataGridCollectionViewにバインドされていることが原因である可能性があります。datagridcollectionによって使用されるコレクション内のオブジェクトは、IDataErrorInfoを実装するものです。
エラーは問題なく表示されています。問題は、エラーにデフォルトのオレンジ色の背景を使用していることです...赤い境界線が必要です。以下は、私のグリッドのXAMLインスタンス化です。グリッドのプロパティにアクセスできることを確認できるように、DataCellの背景プロパティを赤に設定しました...そうです。エラーのあるセルを特定する方法が見つからないため、スタイルを設定できます。ありがとう!
..。
wpf - XCeedDataGridコントロールからFilterRowを取り出す
XCeed DataGridコントロールからグループボックスなどの他の場所にフィルター行を引き出すことは可能ですか?可能であれば、どのように?任意のポインタをいただければ幸いです。
[フィルター]ボタンをクリックすると、フィルタークエリに従って[製品名]列がフィルターされる、以下のシナリオを検討してください。このシナリオを実行するには、製品名のFilterRowセルを削除する必要があります。
xaml - xaml の各行に EventToCommand を追加します。
datagridcontrol のイベントを使用するのではなく、xaml の各行に DoubleClickEvent を追加する方法はありますか?
このようなもの (このコードは機能しません):
wpf - WPF、TypeDescriptorを監視しているときにハンドラーのフックを適切に解除する方法
WPFを使用していて、MVVMパターンに従おうとしています。私たちのチームはXceedDataGridコントロールを使用することを決定しましたが、MVVMパターンに適合させるのにいくつかの問題があります。
私が満たさなければならない1つの要件は、ユーザーがグリッド上の列フィルターをいつ変更するかを知る必要があることです。DataGridコントロールの最新バージョンには、このために発生するイベントがあることを認識していますが、残念ながら、古いバージョンのコントロールを使用する必要があります。
しばらく検索したところ、この投稿を見つけました。INotifyCollectionChangedハンドラーをフィルターの可能なリストのそれぞれにフックする必要があることを示しています。これは機能しますが、グリッドの行ソースが変更されるたびにハンドラーのフックを解除する必要があることも示しています。
ページの背後にあるコードで行ソースを明示的に設定すると(そして、ビューのあえぎへの直接参照を使用してModelViewで最初に試みたときに)、それを機能させることができました。
しかし、私が遭遇する最初の問題は、コードビハインドまたはViewModelにロジックを持たずにこれを行う方法です。私の解決策は、DataGridControlクラスを拡張し、次のコードを追加することでした。
これは私の次の問題につながります。ItemsSourceChangedメソッドが呼び出されるまでに、AutoFilterValuesのコレクションが既に変更されていると確信しているため、ハンドラーのフックを効果的に解除することはできません。
私はこれを想定するのは正しいですか?そして、拡張クラス内にその機能をカプセル化したままにして、これらのハンドラーを管理するためのより良い方法を誰かが考えることができますか?
投稿の長さについて申し訳ありませんが、助けてくれてありがとう!
-ファンガー
wpf - XCeed DataGrid for WPF v4.x:複数の列ヘッダーを作成する方法
XCeed DataGrid for WPF v4.xで複数の列ヘッダーを作成する方法はありますか?
wpf - XceedDatagridのボタンにプロパティをバインドするときのNullReferenceException
これは私を狂わせています。この問題は、データグリッドがスクロールバーを必要とするほど大きい場合にのみ発生するため、データの仮想化がこれに役立つことを強くお勧めします。下のxamlからわかるように、このデータグリッドに定義された最後の列は、コントロールのデータソースであるDataGridCollectionViewのブール値の「ErrorsPresent」プロパティに可視性がバインドされているボタンです。なんらかの理由で、私にはわかりませんが、大きなデータセットがコントロールに読み込まれると、すべてのプロパティにnull値を持つ空の行がいくつかあります。最後の列をコメントアウトすると、グリッドとそのデータは正しく表示されますが、行のデータが実際に処理されると(コンバーターのように)、PresentationFrameworkでこの厄介なエラーが発生します。すべてを含めて申し訳ありませんが、すべてのWindowsコードを示したいと思います。
'APreII.vshost.exe'(管理対象(v4.0.30319)):ロード済み'C:\ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ Accessibility \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ Accessibility.dll' System.Transactions Critical: 0:http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/UnhandledUnhandled exceptionAPreII.vshost.exeSystem.NullReferenceException、mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089Objectオブジェクトのインスタンスに設定されていない参照。System.Windows.Data.BindingExpression.TransferValue(Object newValue、Boolean isASubPropertyChange)at System.Windows.Data.BindingExpression.Activate(Object item)at System.Windows.Data.BindingExpression.AttachToContext(AttachAttemptattempt)atSystem.Windows。 Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient。System.Threading.ExecutionContext.Run(ExecutionContextexecutionContext、ContextCallbackコールバック、オブジェクト状態)のContextCallbackコールバック、オブジェクト状態、ブール値ignoreSyncCtx)System.Threading.ThreadHelper.ThreadStart()System.NullReferenceException:オブジェクト参照がインスタンスのインスタンスに設定されていません物体。System.Windows.Data.BindingExpression.TransferValue(Object newValue、Boolean isASubPropertyChange)at System.Windows.Data.BindingExpression.Activate(Object item)at System.Windows.Data.BindingExpression.AttachToContext(AttachAttemptattempt)atSystem.Windows。 Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient.AttachToContext(Boolean lastChance)at MS.Internal.Data.DataBindEngine.Task.Run(Boolean lastChance)at MS.Internal.Data.DataBindEngine.Run(Object arg)atMS。 Internal.Data.DataBindEngine。
Xaml。ご覧のとおり、CanContentScrollプロパティとItemScrollingBehaviorプロパティを設定して仮想化を無効にしようとしましたが、効果はありません。:
そして、笑いのためだけに、DataGridCollectionViewをどのように作成しているか:
助けてくれてありがとう。データの仮想化を適切にオフにする方法(それが問題である場合)、これらのnullレコード(基になるデータセットとDataGridCollectionViewにない)がCellContentTemplateVisibilityコンバーターによって処理されないようにする方法がわかりません。