Selamun Aleyküm Sorum basit ama ben bilmiyorum.
DBComboBox'a programı yazarken items ekleyip kullanabiliyorum. Ancak tam olarak yapmak istediğim Ankara ,Kayseri,Yozgat elemanları kayıtlı iken kayıtlı olmayan bir il mesela İzmir yazdığında böyle bir kayıt yok elemek istermisiniz diyip kayıtlı illerin artık Ankara, Kayseri , Yozgat ,İzmir olması.
Ve her harfe bastığımda filtreleme yapması ilk harfleri girdiğimde gerisini tamamlaması lazım yardımlarınız için teşekkürler
DBComboBox Sonradan Veri Ekleme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: DBComboBox Sonradan Veri Ekleme
A.S.,
Bildiğim kadarı ile Delphi ile gelen standard DBComboBox veya DBLookupComboBox istediğiniz gibi harfe basınca o harf(ler) ile başlayan seçenekleri filtrelenmiş şekilde göstermez. Bunun için ücretli Dev Express gibi bileşenleri kullanabilirsiniz. Bu bileşenlerde istediğiniz özellik parametre ile açılıp kapatılabilir olup normalde açık olur.
Sorunuzu sorarken kullandığınız Delphi sürümünü bildirmemişsiniz. Aşağıdaki kod örnekleri 2009 ve sonrası sürümlerde kullanılabilecek şekildedir.
ComboBox içinde olmayan bir kaydı bulmak için aşağıdaki gibi bir kod kullanabilirsiniz.
Yukarıdaki fonksiyonun kullanımı aşağıdaki gibi olacaktır
Liste içinde olmadığında eklenmesi uygulama kapatıp açıldığında yine bu eklenmiş bilginin listede olması anlamına gelir şeklinde yorumluyorum sorununuzu. Bu durumda aklıma gelen en basit yöntemlerden bir tanesi INI dosyası kullanmak. Ini dosyası içine kaç adet değer sakladığınızı ve bu değerleri kaydeder iseniz uygulama tekrar açıldığı zaman yine aynı INI dosyası içinden okuyabilirsiniz.
Yukarıdaki fonksiyon ve INI dosyası kullanım örneğini ekteki uygulama içinde bulabilirsiniz. Kullandığınız Database bağlantı bileşenini bilinmediği için örnek uygulama TComboBox kullanmaktadır. Ancak TDBComboBox kullanımı tamamen aynıdır.
Bildiğim kadarı ile Delphi ile gelen standard DBComboBox veya DBLookupComboBox istediğiniz gibi harfe basınca o harf(ler) ile başlayan seçenekleri filtrelenmiş şekilde göstermez. Bunun için ücretli Dev Express gibi bileşenleri kullanabilirsiniz. Bu bileşenlerde istediğiniz özellik parametre ile açılıp kapatılabilir olup normalde açık olur.
Sorunuzu sorarken kullandığınız Delphi sürümünü bildirmemişsiniz. Aşağıdaki kod örnekleri 2009 ve sonrası sürümlerde kullanılabilecek şekildedir.
ComboBox içinde olmayan bir kaydı bulmak için aşağıdaki gibi bir kod kullanabilirsiniz.
Kod: Tümünü seç
function IsInList(const Value: string; const List: TStrings; const CaseSensitive: Boolean = False): Boolean;
var
i: Integer;
begin
for i := 0 to Pred(List.Count) do
begin
if CaseSensitive then
begin
if List[i] = Value then Exit(True);
end
else
begin
if Value.ToUpper() = List[i].ToUpper() then Exit(True);
end;
end;
Result := False;
end;
Kod: Tümünü seç
if not IsInList(TempString, ComboBox1.Items) then
begin
ShowMessage('Girilen bilgi listede mevcut değil');
end;
Yukarıdaki fonksiyon ve INI dosyası kullanım örneğini ekteki uygulama içinde bulabilirsiniz. Kullandığınız Database bağlantı bileşenini bilinmediği için örnek uygulama TComboBox kullanmaktadır. Ancak TDBComboBox kullanımı tamamen aynıdır.
- Dosya ekleri
-
- ComboBox1.rar
- (1.51 KiB) 55 kere indirildi
Re: DBComboBox Sonradan Veri Ekleme
Yardımınız için teşekkür ediyorum Delphi Beriln 10.1 Kullanıyorum ayrıca Berlin 10.1 de raporlama nasıl yaparım bilginiz varmı
Re: DBComboBox Sonradan Veri Ekleme
Raporlama için birçok araç mevcut.
http://www.quickreport.co.uk/
http://www.crystalreports.com/ (Delphi ile kullanım açıklaması: http://stackoverflow.com/questions/3780 ... pplication)
https://www.nevrona.com/
https://www.fast-report.com/en/
Delphi eskiden Quick Report ile birlikte gelirdi. Son sürümlerinde artık FastReport bulunuyor. Sizde FastReport kullanabilirsiniz.
http://www.quickreport.co.uk/
http://www.crystalreports.com/ (Delphi ile kullanım açıklaması: http://stackoverflow.com/questions/3780 ... pplication)
https://www.nevrona.com/
https://www.fast-report.com/en/
Delphi eskiden Quick Report ile birlikte gelirdi. Son sürümlerinde artık FastReport bulunuyor. Sizde FastReport kullanabilirsiniz.