問題タブ [tgrid]

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 投票する
0 に答える
182 参照

delphi - TClientDataset の変更を RTC サーバーに送り返すにはどうすればよいですか?

こんにちは、Delphi に RTC を使用したサーバー/クライアント アプリケーションがあります。私のクライアントは Android モバイル デバイスであり、TGrid を備えています。サーバーは dbf ファイルからデータを取得し、このデータをデータセットとして HTTP でクライアントに送信します。クライアントはデータを取得して TGrid を埋めますが、これは機能しますが、変更データを送り返したい場合は機能しません:(

ここに私のコード:

デルファイは、データが初期化されていないと私に言います

...

グリッドは GetDataSet からデータを取得し、変更のみを送り返したい! GetDataset はグローバルです。

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

delphi - LiveBinding とデータセットで使用するときに TProgressColumn を機能させる方法

私の目標は、LiveBindings を介して TClientDataSet に接続された、いくつかの列を持つ TGrid を持つことです。列の 1 つは TProgressColumn 型です。

グリッドにはデータが表示されますが、進行状況バーの列には何も表示されません (つまり、進行状況 0%)。

TProgressColumn は ftInteger 型のフィールドに接続されています。このフィールドの値は 0 ~ 100 です。

ftSingle で試してみましたが、うまくいきませんでした。TLinkGridToDataSourceBindSourceDB/Columns の下にある ColumnStyle プロパティを使用して、列のタイプを TProgressColumn に設定します。

奇妙なことに、TPrototypeBindSource を使用して値を生成すると、TProgressColumn は機能しますが、ftUInteger 値に対してのみ機能します。ftInteger ジェネレーターでは失敗します。

ここに小さなデモがあります (Delphi XE7):

TProgressColumn の問題

TProgressCell.DrawCell() にブレークポイントを設定し、Value.IsOrdinal と Value.IsType の 2 つの条件をステップ オーバーすると、スキップされ、ClampValue は 0 である値「Min」を受け取ります。渡された値に何か問題があるようです。関数に。

TProgressColumn を使用する際に何か特別なことはありますか? TLinkGridToDataSourceColumn で CustomFormat、CustomParse を使用する必要がありますか?

それはバグですか、それとも何か見逃していますか?

UPDATE: 「のんぱ」のおかげで謎が解けました!

実際、「asInteger」は TField クラスのよく知られたプロパティです。

TProgressColumn - 解決済み!

CustomFormat プロパティでは、self.asInteger プロパティを含む多くのものにアクセスできます。詳細はこちら:

  1. LiveBinding でのカスタム フォーマットおよび解析式の使用
  2. TLinkPropertyToField コンポーネントの CustomFormat プロパティでバインディング式を使用する
  3. フィールドのフォーマット
  4. 整数フィールドをブール値として扱うには?
0 投票する
3 に答える
5729 参照

delphi - Delphi XE7 を使用して stringgrid 特定のセルの色を変更する方法

Android アプリケーションの開発に Delphi XE7 を使用しています。その中で、TStringGrid コンポーネントを使用して から使用StringGrid.cells[0, 0] := 'Test' しました。また、コードに表示されている特定のセルのフォントの色を変更するにはどうすればよいですか。また、このサンプル コードもありますが、特定のセルのフォントの色を変更することはできません。特定のセル値のフォントの色を変更する方法を誰かに説明してください。私は Delphi XE7 を使用しており、Android モバイルをターゲットにしています。

ありがとう..

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

c++ - Firemonkey コントロールの OnMouseMove メソッドの設定

OnMouseMoveFunction を定義しようとしているカスタム コントロールがあります。基本的に、コントロールは検索バーとして機能し、TGrid結果を表示するための子カスタム コントロールを含む編集ボックスで構成されます。既にいくつかのマウス イベントを処理してTGridいますが、OnMouseMove を実装しようとすると、TGridOnMouseMove メソッドを設定しようとすると次のエラーが発生します。

E2034 Cannot convert 'void (_fastcall * (_closure )(TMouseMoveEvent))(TMouseMoveEvent)' to 'TMouseMoveEvent'

関数が定義されているヘッダー ファイルの一部を次に示します。

void __fastcall GridMouseMove( TMouseMoveEvent * MouseEvent );

コントロールの CPP ファイル内の実際の関数は次のとおりです。

この時点まで、すべてが問題なくコンパイルされます。ただし、割り当てTGridたメソッドに の OnMouseMoveEvent ハンドラを割り当てようとすると、エラーが発生します。

これがビルドされない原因は何ですか?

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

c++ - コード内の TGrid 行の強調表示

私はそれを作ろうとしているカスタムTGridコントロールを持っているので、マウスが行の上に置かれると、その行が強調表示されます。矢印キーを使用してグリッドを移動すると、行が自動的に強調表示されます。ただし、マウスを使用したナビゲーションでこの効果を再現する方法がわかりません。

現在、マウスがホバーしているグリッドの行を検出できる MouseMove 関数があります。

私は当初、SelectRow関数を使用すると目的の効果が得られると考えていましたが、その方法を使用しても何も起こりません。さらに、私は使用してみました

FGrid->SelectCell(0, rowSelected);

どちらも機能しませんでした。

マウスを使用して行のテキストを太字に設定することにより、関数から正しい行を取得していることを確認しました

FGrid->RowObjects[rowSelected]->SetBold();

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

delphi - TGrid の「selected」プロパティを -1 に設定する方法

FMX.Grid.TGridユーザーが完全な行を選択できる を使用しています。場合によっては、この選択をリセットしたいことがあります。grid.selected = -1またはでこれを行うとgrid.selectRow(-1)、選択はグリッドから削除されますが、最初の行であるgrid.selected「0」に設定されます。TCustomGrid.SelectCell

grid.selectedプロパティが「-1」になるように選択をリセットするにはどうすればよいですか?