TDBGridで現在の行が見つかっていますか?DelphiのTDBGridで現在の行を検索
答えて
私はあなたの質問を理解しているかどうかはわかりませんが、私は答えを試みるでしょうし、あなたが求めているものではないかどうかを明確にすることができます。
TDBGridはDataSourceに関連付けられているため、現在の行はデータソースの現在の行と同じです。プライマリキー値またはRecNoプロパティを調べて、現在のレコードがどのレコードかを判断することによって、DataSourceを照会することができます。
レコード数と現在のレコードを提供するためにデータソースに依存したくない場合(たとえば、リモートサーバー上で単方向カーソルを使用しているため)、基礎となるグリッドコントロールを使用できます。
同様のStackOverflow質問へのthis answerを参照してください。
あなたは正しいことを言っ始めましたが、あなたが示したリンクはレコード数の取得方法を示していますが、最も重要なもの(RecNoまたはRowまたはCurrentRowなど)はグリッドから直接取得できません。申し訳ありません –
@Carlos: 'RowCount:= TDummyGrid(MyDBGrid).RowCount'の代わりに' Row:= TDummyGrid(MyDBGrid).Row'を書くのを止めていますか?ちょっとした思考が必要ですね... – mghie
まあ...グリッドに色を変えたいのですが、ROWプロパティはカーソルの変更の間に "永続的"ではありません。つまり、カーソルを移動すると選択を変更すると、同時に表示可能なすべての行のROWプロパティが変更されます。それぞれの行を個別に、現在選択されている行とは独立して識別する方法が必要です。今はリンクされたデータセットのRecNoを使用していますが、一方向のデータセットではこのプロパティは役に立ちません。あなたが見ることができるように、思考のちょっとしたビットが必要ですが、あなたは怠け者でした。申し訳ありません... –
あなたはこのようにそれを行うことができます。
1 - (これはあなたがプライベートメソッドにアクセスできるようになります)のTDBGridのコピーであるローカルクラスを定義します。
type
THackDBGrid = class(TDBGrid);
2 - そして、あなたはキャストすることができますあなたのローカルに定義されたクラスに、とのようにプライベートメソッドから引っ張っ:
function TfrmMain.GetFieldValue(colnum : integer): string;
begin
Result := THackDBGrid(grdMain).GetFieldValue(colnum);
end;
または、行番号を取得するには:
function CurrentRowNumber: integer;
Result := THackDBGrid(grdMain).Row;
end;
このテクニックは他の状況でも役に立ちますが、クレジットを請求することはできません。 I got it from here。
- 1. 無料パスカル、のTDBGrid、現在の行を取得し
- 2. jQueryを使用してasp:GridViewで編集中の現在の行を検索
- 3. jqGridでの現在のページ番号の検索
- 4. FirebirdとDelphiでのフルテキスト検索
- 5. 現在実行中のブラウザの現在のWebアプリケーションを検出します。
- 6. 現在のjQuery DataTableに列の検索を適用します
- 7. iPhone:今後60日間の現在の日付を検索
- 8. Website Redesign現在のGoogle検索の位置を維持する
- 9. Delphiのメモを検索しますか?
- 10. Delphi - 大きなTMemoでテキストを検索
- 11. ディレクトリを検索する現在のディレクトリを取得します
- 12. エンティティFrmwkのPB:現在のコンテキスト内の「追加」エンティティの検索
- 13. Railsスコープの現在のユーザーとの検索
- 14. Windowsで現在アクティブな言語を検索する
- 15. 現在のAzure RMサブスクリプションの検索方法
- 16. Magentoファセット検索では現在のページのフィルタのみを表示します
- 17. mysqlのvb.netで現在の日付を検索パラメータとして使用
- 18. リファレンス現在の行
- 19. Delphiのすべてのサブディレクトリでファイルを検索するには
- 20. ビジュアルスタジオでの正規表現の検索
- 21. ASP.NET MVCがカスタムアクションフィルタで現在のユーザー名を検索しています
- 22. ビジュアルブロックを現在の検索語にすることはできますか?
- 23. Pythonで現在の時刻を検索中にエラーが発生しました
- 24. TDBGridの印刷
- 25. Delphi - 現在のフォーカスを持つウィンドウ/フォームのキャプチャ
- 26. ノードjs fs.existsは現在のディレクトリのファイルのみを検索します
- 27. 現在のタブのURLを検索します。 Firefoxブラウザを作ることアドオン
- 28. Delphi:検索ダイアログと文字列グリッド
- 29. Delphi検索パスとライブラリパスと参照パス
- 30. 現在のIPrincipalに基づいてユーザーの電子メールを検索します
私はあなたの質問に明確化のビットを提供する必要があると思う、クエリの行またはDBGridの行を意味するのですか? –