問題タブ [fdmemtable]

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 に答える
197 参照

delphi - Delphi に AutoInc フィールドがある場合、FDMemTable は FieldDefs 情報を失います

Delphi フォーム用のメモリ テーブル TFDMemTable を作成し、FieldDefs の下にフィールドを定義しています。手動でフィールドを定義したら、フィールド エディターに移動して、定義したフィールドを追加します。

FDMemTable に AutoInc タイプのフィールドができるまで、すべてが完璧に機能します。私は Delphi 10.3.2 バージョンを使用していますが、何か不足しているのか、それとも IDE のバグなのか疑問に思っていました。

PS: いくつかのテストを行いましたが、AutoInc フィールドが最後のフィールドとして定義されていない場合、すべてが消えると思います。このケースについて 100% 確信があるわけではありませんが、試行するたびに、FieldDefs の下のフィールドが失われます。

手順は次のとおりです。

  • FDMemTable アイコンを配置する
  • FieldDefs ウィンドウを開く
  • 一連のフィールドを作成します(文字列、整数...)
  • 名前、型 (および文字列のサイズ) を定義する
  • フィールドエディタを開く
  • フィールドを追加

ここまで、すべてが正常に機能します。

  • fieldDefs ウィンドウに戻る
  • autoinc タイプの新しいフィールドを作成して名前を付ける
  • フィールド エディタ画面を開き、最後に追加したフィールドを追加します。

構造に変更がない限り、すべて問題ありません。

ここで、次のようにすると奇妙なことが起こります。

  • FieldDefs ウィンドウを開く
  • 任意のフィールドを作成します(整数型としましょう)
  • フィールド エディタ ウィンドウに移動して、この最後に作成されたフィールドを追加します。
  • 追加するこの新しいフィールドが表示されないことがわかります。
  • fieldDefs ウィンドウに戻って、表示されていない理由を確認すると、
  • 以前と最後に追加されたフィールドの定義がすべてなくなっていることがわかります..

この問題を回避するために、フォームをテキスト形式で開き、autoinc である最後のフィールドの直前に新しいフィールドを挿入します。

フィールド エディターのエントリをテキスト フォームに手動で追加します。

すべてが正しくなったら、フォーム ビューに切り替えます。

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

delphi - TFDMemTable フィルタが TEdit OnChangeTracking に応答しない

API からの TFDMemTable データがあります。TFDMemTable は、TListView とライブバインドされています。ここで注意が必要なのは、TEdit コントロールの OnChangeTracking イベントのみを使用して、フィルター処理されたデータを TListView に表示したいということです。

これは、意図した結果を実現するために使用しているコードですが、残念ながら何も返されません。

ここにいる誰かが私のコードが正しいかどうかを確認できますか? それとも、何か他のことをする必要があるのでしょうか?