問題タブ [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.

0 投票する
4 に答える
4260 参照

delphi - Delphi、TcxGrid または TDataSet で最速のレコード アクセス方法は何ですか

Delphi 2007 と TcxGrid を使用して、ファイル ライブラリの内容を表示しています。データベースには、ファイルの種類、名前、パス、および拡張子に関する情報が格納されています。

テストでは、TDataSet を介して 1700 レコードをグリッドにロードしています。また、まだ計算する必要がある 3 つのフィールドをグリッドに追加します。それらは、ファイルが存在するかどうか、ファイルのサイズ、および変更日です。

私の目標は、保存されているすべての情報をユーザーに表示し (これはうまく機能し、高速です)、バックグラウンド スレッドで他の 3 つのデータ フィールドの情報を見つけて、それらを TcxGrid に挿入することです。この質問は、私が行っているスレッド化とはほとんど関係がありません。その正常に動作します。

私の問題は、既に構築されているグリッド内のフィールドにアクセスすると、アクセスすると非常に遅くなることです。私は2つの異なる方法を試しました...

  1. Grid.DataController.Values[RecordIndex,FieldIndex] - しかし、これは変種であり、それが非常に遅い理由だと思います

  2. Grid.DataController.DataSet.FindFirst Grid.DataController.DataSet.FindNext Grid.DataController.DataSet.Fields[FieldIndex] しかし、この「シーク」メソッドを使用すると、最初に試した方法と同じくらい遅くなります。Locate と moveby も遅いです。

長い質問ですが、レコードにアクセスする最速の方法は何ですか?

0 投票する
2 に答える
3962 参照

delphi - ユーザーが何かをドロップしたTcxGrid行を確認するにはどうすればよいですか?

ユーザーがTcxGridコンポーネント上に何かをドラッグしています。どの行にドロップされたかをどのように知ることができますか?

0 投票する
2 に答える
16493 参照

delphi - DevExpressTcxGridの自動サイズ設定方法

TcxGridシンプルなテーブルビューでからテーブルを作成しました。データは単純な文字列として使用してテーブルに挿入されておりDataController.Values[n,m]、さまざまな文字列幅を示す10列があります。

私が抱えている問題は、水平スクロールバーがあり、列のサイズが自動化されているテーブルを取得することです。trueに設定CellAutoWidthすると、すべての列が表示幅(スクロールバーなし)に収まりますが、falseに設定すると、スクロールバーが表示されますが、デフォルトの幅の列とデータ文字列は切り捨てられます。

親切な人に、水平スクロールバーを取得し、各列の幅を最大データ幅に合わせて調整する方法を教えてもらえますか?

ブライアンに感謝します。

0 投票する
2 に答える
6940 参照

delphi - cxGrid 最後のフィールドの新しいレコード

ユーザーが現在のレコードの最後のフィールドで Enter キーを押すたびに新しいレコードを追加するように TcxGrid を作成するのに苦労していますが、これを達成するのに役立つプロパティが見つかりませんでした。

以下のコードで、グリッド ビュー(TcxGridDBTableView)の OnKeyDown イベントを設定してみました。

ただし、コードは何らかの理由で実行されません...

最後のフィールド OnEnter イベントにレコードを追加する方法についてのアイデアは大歓迎です。

ありがとうございました。

0 投票する
5 に答える
33616 参照

delphi - テーブルの値に基づいてcxgridに色を付けるにはどうすればよいですか?

特にフィールド名「hello」が存在するすべての行を緑色にしたいと思います。私はこれを試しましたcustomdrawcell

しかし、それは機能しません...私はここで何が欠けていますか?

0 投票する
1 に答える
3448 参照

delphi - マスターレコードの値に応じて、TCXGridでTcxGridLevelを非表示にする

マスターTcxGridLevelと2つの子TcxGridLevels(すべてTcxGridDBTableViewを使用)で構成されるTcxGridがあります。マスターレベルのレコード値の値に応じて、子レベルの1つを非表示にします。どうすればこれを行うことができますか?

0 投票する
2 に答える
4840 参照

delphi - cxgridテーブルビューのテーブルヘッダーグループ

Delphiのクエリに基づいて、テーブルビューに単純なスタイルを追加する必要があります。私はそれがこのように見える必要があります:

ここに画像の説明を入力してください

フィールドでグループ化する方法があることは知っていますが、2つのメインタイトルフィールドをテーブルのヘッダーに追加する方法がわからないようです。

0 投票する
1 に答える
2860 参照

sql - cxGrid でコンボボックスを埋める方法は、同じ cxGrid の列の値に依存します

myComboboxDatasetSQLQuery:

質問:
- 同じ cxGrid の USER_TYPE セルの依存値を使用して、cxGrid の lookUpComboBox セルをプルするにはどうすればよいですか?

0 投票する
1 に答える
1033 参照

delphi - 日グリッド内の 2 つの日付の差

グリッド内の 2 つの日付の差の日数を計算しようとしています。この種類は機能しますが、最初は奇妙な結果が生成されます。これは、TEMP テーブルの Oncalculate fields イベントです。

BIV_OD と BIV_DO は日付フィールドです (つまり、... Date_From - Date-to のように) グリッド (BIV_OD) で最初の日付を選択すると、最初に DAYS フィールドに 40731 (??) と表示され、次に 2 番目の日付を入力するとすべて正常に動作します。何故ですか ?

0 投票する
2 に答える
3723 参照

delphi - グリッド上をドラッグしながら画像変更をドラッグ

StartDrag でカスタム DragObject のインスタンスを作成しています。

最近、DragOver の別のグリッドで:

私の DragOverPaint 手順:

グリッド レコードの値に応じて DragImageList を再描画したいのですが、既に描画されていると画像リストが更新されません。