1
自分自身のDBGRidを作成していますが、選択リストを除いて正常に動作します。グリッドにはどのようなボタンスタイルが設定されていても、インプレイスエディタ、選択リスト、楕円ボタンは表示されません!カスタムdbgridとピックリストの問題
私はここに関連するコードです:(私がやっている間違いを理解することはできません。
function TMyDBGrid.CreateEditor: TInplaceEdit;
begin
result:=TInplaceEdit.Create(self);
end;
function TMyDBGrid.GetEditStyle(ACol, ARow: integer): TEditStyle;
begin
case Columns[ACol].ButtonStyle of
cbsAuto : Result:=esPickList;
cbsNone : result:=esSimple;
cbsEllipsis : result:=esEllipsis;
end;
end;
そしてコンストラクタとデストラクタはちょうどだけのためにいくつかの色を設定するコンストラクタで、を継承して呼び出します。グリッド。
問題があります:私はTDBGridInplaceEditを使用しようとしましたが、DBgridsユニットの実装部分で宣言されています。 Delphiのソースを変更する以外にも、それを使用する方法はありますか? – DrWael
@DrW - それは本当に問題です。 TGridInplaceEditに近いTInplaceEditListからインプレースエディタを派生させ、TGridInplaceEditのVCLソースを見て欠けている機能を追加してみてください。しかし、私はどちらかが動作するかどうかは分かりません。エディタをTGridInplaceEditにキャストするdbgridソースにハードキャストがあります。 –
実際に解決しようとしている問題について質問することを検討してください。エディタを置き換える方法は他にもあります。 –