問題タブ [tcxgrid]
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.
delphi - 選択/強調表示されている現在の行を失うことなく tcxgrid を更新します
Delphi XE2 を使用しています。
データベース内のテーブルを見ているデータソースに接続されている tcxgrid があり、cxgrid はそのテーブル内のフィールドとレコードを表示しています。
現在選択されている行を失うことなく tcxgrid を更新する方法を知っている人はいますか?
ありがとう、
delphi - TcxGrid グループ化された行数を見つける
グループ化で TcxGrid を使用しています。グループ化された行がいくつあるかを知りたいのですが、適切なプロパティが見つからないようです。ただし、グリッドがグループ化されている列の数を参照する<mytableview>.GroupedItemCount
だけです。
基本的に、すべてのグループが折りたたまれているかどうかを知りたいだけです。GroupRowExpanded
およびイベントを監視することで、拡張されたグループの数を数えることができましたGroupRowCollapsed
が、もっと良い方法があるはずだと感じています。
私の現在の計画は、グループ数を と比較すること<mytableview>.ViewData.RowCount
です。それらが異なる場合は、拡張されたグループが必要です。
答えは簡単だと思います..しかし、TcxGrid には非常に多くのオプションがあるため、適切なオプションを見つけることができません。
delphi - cxDateNavigator1 で週末のテキストの色を赤に設定
でTcxDateNavigator
、週末(土曜日、日曜日)を別の文字色(赤)でマークすることはできますか?
TMS にはこの機能が実装されていますが、この DevExpress コンポーネントでそれを見つけることができないようです。
delphi - TcxGridDBBandedColumn の TdxDBTreeListColumn.OnFilterStringUnformat アナログはどこにありますか?
アプリケーションでは、DevExpress ExpressQuantumGrid v3 (TdxDBGrid) と ExpressQuantumGrid Suite v12 (TcxGrid) を使用します。TdxDBGrid では、TdxDBTreeListColumn.OnFilterStringFormat および OnFilterStringUnformat イベントを使用して、列に関連付けられた基本データ型の値の文字列表現を使用してフィルター処理できるようにします。たとえば、期間がミリ秒単位で保存されていても、HH:MM:SS 形式で表示される場合があります。
しかし、私は TcxGrid でこれを行う方法にこだわっています。TcxGridDBBandedColumn.OnGetFilterDisplayText を TdxDBTreeListColumn.OnFilterStringFormat の類似物として使用できますが、TdxDBTreeListColumn.OnFilterStringUnformat によって提供される機能を実装して、ユーザーが指定した表示値から格納されている値に確実に変換できるようにする方法に行き詰まっています。基礎となるデータセット。
この機能は TcxGrid でどのように実現されますか?
delphi - cxDateEdit を使用してグループ化されたデータを展開する cxgrid
cxGrid に表示されているデータは、日付 (折りたたみ) でグループ化されています。その機会に cxDateEdit を使用して、選択した日付に対してこのグループ化されたデータを「のみ」展開する方法はありますか?
現在、私が管理できるのは、ボタンを使用してすべてのデータを折りたたむか展開することだけです。
cxDateEditに表示されている日付だけレコードを展開したいです。目的の日付のデータが見つからない場合は、メッセージを表示することもできます。
編集:これを行う方法を見つけました:
ただし、cdDateEdit に表示される日付が cxGrid に存在しない場合、メッセージを点滅させる方法がわかりません。
delphi - cxgrid でレコードをループし、フィールド/列を更新する
特定のレコードを選択するためにフィルターを適用する cxGrid があります。それが完了したら、グリッド内のフィールド/列を更新して、次の操作に使用される各レコードをマークできるようにしたいと考えています。私はこれを理解することができませんでした
問題を説明するときに、十分に具体的でなかったのかもしれません。いくつかのレコードを選択するフィルターを適用した cxGrid があります。次に、列ヘッダーをクリックして、これらのレコードの fldselected というフィールドを True に設定する必要があります。
delphi - cxGrid のフィールドの更新がおかしい
cxgridのレコードをループしてフィールド/列を更新するための回答の助けを借りて作成された cxGrid を更新する機能があります。
しかし、それは時々少し奇妙な行動をしています。cxGrid でフォームを開き、他に何もせずに列ヘッダーをクリックすると、レコードは正常に更新されます。しかし、'selectorbar' を上から移動すると、マークされたレコードは更新されません。変更が必要なプロパティだと確信していますが、どのプロパティですか。
変数 fSelected は FormShow で False に設定されており、ユーザーがレコードを選択解除できるようになっています。
Delphi XE7、DevExpress 14.2.2、DB アクセス用の UniDAC 5.5.12
コメント:MartynAからの回答と入力に基づいて、次のソリューションになりました
delphi - cxGrid は上にスクロールしません
cxGrid で奇妙な問題が発生しました。クエリを実行してすべてのレコードを取得すると、レコードがグリッドに表示されます。その単純なクエリ:
'select * from mytable order by name asc'
ただし、グリッドの最初のレコードを選択しようとすると、グリッドはグリッドの中央にあるランダムなレコードにジャンプします。グリッドの最初のレコードから 1 つのグリッドにジャンプするまでスクロールできません。ただし、その記録を超えて、通常どおり上下にスクロールできます。真ん中から上にスクロールすることも、そこにあるレコードを選択することもできません。グリッドが真ん中のレコードで止まっているようです。
DataController を次のように変更すると
GridMode = True
その後、問題なくスクロールできますが、グリッドの機能が失われます。グリッドを通常のグリッドに置き換えるとスクロールが機能するため、データセットの問題ではありません。
だから、これは何らかのバグなのか、それともグリッドの設定が誤ってオン/オフされているのか疑問に思っています。
ps。FindPanel が表示されます。