問題タブ [tstringgrid]

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

delphi - Firemonkey Delphi XE5 で TStringGrid のテキストの色を変更する方法

特定の行のテキストの色を変更できるようにしたい。たとえば、セル値が 0 未満の場合、緑以外の赤が必要です。

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

php - 構文エラー、予期しない T_STRING (PHP 内で HTML を試行中)

ゲーム サーバーがオンラインかオフラインかを追跡するための php コードがあります。しかし、エコー内でhtmlを試してみましたが、有名なT_Stringエラーが出力されます。

私のコード:

それは26行目に書かれています echo "<h1><td style="background-color:red">Offline</td></h1>";

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

delphi - その行内の任意のセルをクリックして、TStringGrid 内の行を選択します。

1 つの FixedCol と 1 つの FixedRow を持つフォームに TStringGrid オブジェクトがあります。ユーザーがその行内の任意のセルをクリックしたときに、オブジェクトの行全体を選択できるようにしたいと考えています。この選択はユーザーにも表示される必要があります (行の色を変更したい)。

編集: オブジェクトのオプションに goRowSelect を入れました。固定列のセルの 1 つをクリックして行を選択する方法はありますか?

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

android - Delphi XE5 Firemonkey TStringGrid OnClick イベント

Android の Delphi Firemonkey TStringGrid に非常に奇妙な問題があります。TStringGrid のイベントは、Windows と Android プラットフォームで異なる方法でトリガーされるようです。例: Windows firemonkey アプリケーションでは、いくつかの列を持つ文字列グリッドがあります。TStringGrid は読み取り専用に設定されています。OnClick イベント 次のコードがあります。

Android アプリケーションには、まったく同じコードの OnClick イベントがあります。

Windows アプリケーションを実行して文字列グリッド セルをクリックすると、それが選択され、「結果」がセルに書き込まれます。

クリック前のウィンドウ

ここに画像の説明を入力

クリック後のウィンドウ

ここに画像の説明を入力

Androidアプリケーションを実行してクリック(タップ)すると、以前に選択したセルに「結果」が書き込まれ、その後クリックしたセルが選択されます。

クリック前のアンドロイド

ここに画像の説明を入力

クリック後のアンドロイド

ここに画像の説明を入力

これが Firemonkey のバグなのか、予想される動作なのかはわかりません。これを克服する方法はありますか?

0 投票する
0 に答える
180 参照

delphi - TStringgrid で TInplaceEditer の Select All 動作を防止する

TStringGrid でセルを選択すると、セルの内容全体が選択され、カーソルが選択範囲の最後に配置されます。これは問題です。

私のグリッドは FoxPro データベースへの TADOConnnection への Live Binding を介して入力されています。たとえば、フィールドのサイズとデータ型を含む FieldDefs を持つ TADODataSet があります。

基礎となるデータベース スキーマを変更できません。ほとんどの場合、フィールドは格納される情報に対して大きすぎます。jobcに格納される最大の長さの値は 8 文字であり、おそらく 10 文字を超えることはありません。

UI の場合、jobc を保持する列のサイズを 200 文字で表示する理由はありません。10 文字を表示するのに十分な大きさが必要なだけです。ただし、TStringGrid セルは、そのフィールドの内容と、それを埋めるのに十分なスペース文字で埋められます。 (なぜ?わからない) 選択すると、内容全体が選択され、選択範囲の最後にカーソルが置かれ、最終的に内容が消えたように見えます。

TSTringGrid イベントを使用してこの動作をオーバーライドできるようには思えません。

(非推奨)を追加するための迅速で汚い修正を試みました:

OnGetEditMask イベントに渡されますが、このイベントは編集開始時と編集終了時に複数回呼び出されるようです。ありがたいことに、これはうまくいきませんでした。

select all が呼び出されている場所を正確に特定するために、親クラスをさかのぼって追跡しようとしましたが、システム ユニットの asm コードの追跡が失われました。ユニットに D- コンパイラ ディレクティブを追加して、デバッガーがそれらのユニットをスキップできるようにすることができると読みましたが、明らかな理由から、VCL ユニットのいずれかを変更することを本当に躊躇しています。

この時点で解決策を探しています (SQL クエリを変更しますか? ライブ バインディング プロパティ? フィールド プロパティ?) 理想的には、セルの初期値を同時に保存できるように、これがどこで発生するかを正確に知りたいと考えています。(編集中にエスケープすると初期値が復元されるという通常のスプレッドシートタイプの動作を追加したい)。

私がたどる必要があるクラス チェーンは次のように見えますTInplaceEdit-> TCustomMaskEdit-> TCustomEdit->TWinControl どこかにあると思います。

0 投票する
0 に答える
51 参照

delphi - Delphi TStringGrid 左側に背景色がありません

次のカスタム OnDraw を使用して、列番号に応じてセルの背景を色付けします。

しかし、結果として、左側に色のない「バー」が常に表示されます。

セルの左側の部分は色付けされていません

Delphi XE6 を使用しています。

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

delphi - 簡単な Delphi XE6 FireMonkey コントロール TListBox と TStringGrid

FireMonkey TListBox に列を取得し、TListBox の行の列から値を取得する方法を教えてください。私はこのアプローチを使用しています:

vListRow := 'Col1Stuff' + '^I' + 'Col2Stuff';

これは、1 列目に Col1Stuff が、2 列目に Col2Stuff が表示されるわけではありません。

代替手段として TStringGrid Firemonkey コントロールを試しましたが、次の方法も機能しません。

vStringGrid.Cells[0,1] := 'やあ'; vStringGrid.Cells[0,2] := 'あり';

これにより、TStringGrid には何も配置されません。

任意のヒント?