問題タブ [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.
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 である最後のフィールドの直前に新しいフィールドを挿入します。
フィールド エディターのエントリをテキスト フォームに手動で追加します。
すべてが正しくなったら、フォーム ビューに切り替えます。
delphi - TFDMemTable フィルタが TEdit OnChangeTracking に応答しない
API からの TFDMemTable データがあります。TFDMemTable は、TListView とライブバインドされています。ここで注意が必要なのは、TEdit コントロールの OnChangeTracking イベントのみを使用して、フィルター処理されたデータを TListView に表示したいということです。
これは、意図した結果を実現するために使用しているコードですが、残念ながら何も返されません。
ここにいる誰かが私のコードが正しいかどうかを確認できますか? それとも、何か他のことをする必要があるのでしょうか?