Component dblookup benzeri çalışıyor, Ata sınıf olarak "TCustomEditButton" kullandım, sebebi button a basılıp rxgrid visible edilebilir düşünmüştüm, bu eklenebilir, şuanki çalışma şekli aramaya başlandığı anda grid show ediliyor. Edit içine girilen değer, "ListDataSource" a bağlanmış Dataset in filtre özelliğini kullanmakta, yani Filter özelliği olan tüm TDataSet sınıfından olan componentlerle çalışması gerekir. (Test etmedim)
Component i kendim kullanmak için yazdım, o yüzden kosmetik, gösteriş kısmı yoktur. Meraklıları bunları yapıp bana bildirebilirler, hatta memnun olurum. Mesela source içine lisans ekleyebilirler. Ben basitçe lpk içine ekledim.
Component kullanımı dblookup taki gibi, DataSource ve Datafield içine yazılacak olan bileşenler, ListDataSource, Kullanıcıya gösterilecek, girid inde bağlanacağı datasource, ListField, kullanıcının yazdıklarını arayacağı field. Keyfield: bulunan kayıttan, DataField a atanacak değerin field adı.
Sakın, şuda olsun, bunuda ekle tarzında mesajlar yazmayın, göndermeyin. Yaptığınız değişiklikleri, property, event leri bana bildirin, eklediklerimi Component ı güncelleyip, buradan yayınlarım.
Bir ricamda tebrik vs gibi gereksiz mesaj yazmayın, kirlilik oluşturmayalım
Kolay gele
// version history
// 1.0.1 : First release
// 1.0.2 : * Added OnColumnsCreate event
// Triggered when Loaded
// On This event can setting Fgrid Colums or other grid properties
// * FGrid.ColumnByFieldName().Field. changed to
// Self.ListSource.DataSet.FieldByName().
v.1.0.2 a-)
örnek kod: Grid e istenen kolonlar eklenip ayarlamalar yapılabilinir.
Kod: Tümünü seç
Procedure TForm1.UGS_ExLookUp1ColumnsCreate(Sender: TObject; AListSource: TDataSource; AGrid: TRxDBGrid);
var X : TRxColumn;
begin
if AGrid.ColumnByFieldName('ADI')=nil then begin
X := AGrid.Columns.Add;
X.FieldName := 'ADI';
X.Title.Caption:= 'Hasta adı';
X.Width := 120;
end;
v.1.0.2 b-)
FGrid.ColumnByFieldName().Field. -> Self.ListSource.DataSet.FieldByName(). bu değişim sayesinde grid e Keyfield eklemeye gerek yok