cxgrid dataset database nill trim
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
cxgrid dataset database nill trim
cxgridde bir hücreye string giriyorum. firebirdde alan tanımı CHAR(40). Firebird fieldde bilgi tam girdiğim uzunlukta görülüyor. Eğer hiç bilgi girmeden ya da cursor sola yaslıyken enterlersem firebird field null oluyor.
Bu alana yeniden bilgi girmek istediğimde, ya girdiğim string uzunluğu kadar ya da bundan bir kaç bayte daha uzun bilgi girebiliyorum. Alanın tümünü (40 karakter) işleyemiyorum.
Eğer alanı tümden silip boşken enterlersem, bir daha aynı alana geldiğimde tam uzunluk girebiliyorum. Eğer tam uzunluk girmezsem yukarıdaki tarif edilien süreç yeniden başlıyor.
Acaba cxgridde, bir alan girilen bilgiyi, (kendiliğinden trimlenmeden) datasete ve tablo alanına field uzunluğunda aktarmanın bir yolu var mı?
Ya da firebird alanından trimlenmiş olarak gelen bir stringi, cxgrid içerisnde field uzunluğu ile edit etmek için bir özellik var mı?
Eğer bu default bir durumsa ve müdahale edilemiyorsa datasete göndermeden önce istediğim gibi modifiye edip sonra göndermek de bir yol. Ama her string field için bunu yapmak biraz zahmetli olabilir.
Görüşlerinizi rica ediyorum
Bu alana yeniden bilgi girmek istediğimde, ya girdiğim string uzunluğu kadar ya da bundan bir kaç bayte daha uzun bilgi girebiliyorum. Alanın tümünü (40 karakter) işleyemiyorum.
Eğer alanı tümden silip boşken enterlersem, bir daha aynı alana geldiğimde tam uzunluk girebiliyorum. Eğer tam uzunluk girmezsem yukarıdaki tarif edilien süreç yeniden başlıyor.
Acaba cxgridde, bir alan girilen bilgiyi, (kendiliğinden trimlenmeden) datasete ve tablo alanına field uzunluğunda aktarmanın bir yolu var mı?
Ya da firebird alanından trimlenmiş olarak gelen bir stringi, cxgrid içerisnde field uzunluğu ile edit etmek için bir özellik var mı?
Eğer bu default bir durumsa ve müdahale edilemiyorsa datasete göndermeden önce istediğim gibi modifiye edip sonra göndermek de bir yol. Ama her string field için bunu yapmak biraz zahmetli olabilir.
Görüşlerinizi rica ediyorum
Selamlar,
Bence TTable veya TQuery nesnesindeki Field'larda uzunluk doğru set edilmemiş olabilir bunu kontrol ettiniz mi? Bu arada tiplerin de doğruluğunu kontrol ederseniz iyi olur.
Kolay Gelsin
Bence TTable veya TQuery nesnesindeki Field'larda uzunluk doğru set edilmemiş olabilir bunu kontrol ettiniz mi? Bu arada tiplerin de doğruluğunu kontrol ederseniz iyi olur.
Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Aynı durum DBgridde de var. Bir string alana gidip içeriğini boşaltıp, backspace tuşuna basıp enterlerseniz, datasette bu alanın değeri null oluyor. Ayrıca içine değer yazılmış bir alan, field uzunluğu yerine, sadece içinde tutulan bilginin uzunluğu kadar edit edilebiliyor. Aşağıdaki kod kullandığın bileşenleri ve null değerini gözleyişimi gösteriyor.
procedure TForm1.IBDataSet1AfterPost(DataSet: TDataSet);
begin
IBTransaction1.CommitRetaining;
if IBDataset1.FieldByName('ACIKLAMA').IsNull then ShowMessage('null');
end;
-
- Kıdemli Üye
- Mesajlar: 574
- Kayıt: 01 Şub 2004 12:29
- Konum: Erdemli - MERSİN
Pek mantıklı gelmedi ama denedim. Sonuç gene aynı.
Bu sanıyorum IBCustomDataSet.pas dan gelen bir durum. TDataset ile ilgili. Aynı işlemleri IBExpert üzerinden yapıca problemsiz çalışıyor.
Bir de şunu gözledim. Eğer içinde değer olan string bir alanda, alanın tam başında edit etmeye başlarsanız, önce griddeki hücrenin içini siliyor. Sonra doğruca yazıyor. Fakat bu stringin ortalarından bir yerden bilgi girmek isterseniz mümkün olmuyor. Tabii sonuna eklemek de mümkün değil. Örnegin "HASN UZUN" olarak yazılmış bir alanı düzeltmek için hepsini yeni baştan yazmak gerekiyor.
Bu sanıyorum IBCustomDataSet.pas dan gelen bir durum. TDataset ile ilgili. Aynı işlemleri IBExpert üzerinden yapıca problemsiz çalışıyor.
Bir de şunu gözledim. Eğer içinde değer olan string bir alanda, alanın tam başında edit etmeye başlarsanız, önce griddeki hücrenin içini siliyor. Sonra doğruca yazıyor. Fakat bu stringin ortalarından bir yerden bilgi girmek isterseniz mümkün olmuyor. Tabii sonuna eklemek de mümkün değil. Örnegin "HASN UZUN" olarak yazılmış bir alanı düzeltmek için hepsini yeni baştan yazmak gerekiyor.
-
- Kıdemli Üye
- Mesajlar: 574
- Kayıt: 01 Şub 2004 12:29
- Konum: Erdemli - MERSİN
İlginiz için teşekkürler.
Sizin önerinizin neden çalıştıramadığımı buldum. Field tipini CHAR dan VARCHAR'a geçirdikten sonra, eski girilmiş alanlar aynı (problemli) özelliklerini sürdüryorlar. Yeni girilen alanlar doğru çalışıyor. Ayrica Type değişmesine rağmen fixedLength True olarak kalıyor. bunu yeniden elle değiştirmek ya da dataset fieldleri yeniden oluşturmak lazım.
Bu yaklaşım çözüm gibi görünse de gerçek çözüm değil. Çünkü IBExpert, IBO Datasetler kullanıldığında , ister CHAR, isterse VARCHAR olsun problemsiz çalışıyor.
Sorun aslında IBCustomDataset yaklaşımından kaynaklanıyor. Kodu inceliyorum. Farklılığı bulursam yeniden yazarım.
IBX bileşenlerini update ediyorum.
http://codecentral.borland.com/codecent ... thorid=102
Update kaynağınız bundan farklı ise yazmanızı rica ediyorum.
Son Update IBX7.08 bunu kurduğum zaman Interbase servisleri tabı kayboluyor.
İyi Çalışmalar Dileklerimle
Sizin önerinizin neden çalıştıramadığımı buldum. Field tipini CHAR dan VARCHAR'a geçirdikten sonra, eski girilmiş alanlar aynı (problemli) özelliklerini sürdüryorlar. Yeni girilen alanlar doğru çalışıyor. Ayrica Type değişmesine rağmen fixedLength True olarak kalıyor. bunu yeniden elle değiştirmek ya da dataset fieldleri yeniden oluşturmak lazım.
Bu yaklaşım çözüm gibi görünse de gerçek çözüm değil. Çünkü IBExpert, IBO Datasetler kullanıldığında , ister CHAR, isterse VARCHAR olsun problemsiz çalışıyor.
Sorun aslında IBCustomDataset yaklaşımından kaynaklanıyor. Kodu inceliyorum. Farklılığı bulursam yeniden yazarım.
IBX bileşenlerini update ediyorum.
http://codecentral.borland.com/codecent ... thorid=102
Update kaynağınız bundan farklı ise yazmanızı rica ediyorum.
Son Update IBX7.08 bunu kurduğum zaman Interbase servisleri tabı kayboluyor.
İyi Çalışmalar Dileklerimle
-
- Kıdemli Üye
- Mesajlar: 574
- Kayıt: 01 Şub 2004 12:29
- Konum: Erdemli - MERSİN
Admin paleti bende de var .
IBX Update lerini kurarken şöyle yapıyorum ve bir sorun çıkmıyor .
Sırası ile Delphi7 için
IBXDP704 - IBXDP705 - IBXDP707 - IBXDP708
paketlerini ayrı ayrı yüklüyorum. Verdiğiniz linkte bunlar mevcut zaten .
Bu arada, çok araştırdım IBXDP706 gibi bir şey var mı diye, ama bulamadım . Yani 4 - 5 - 7 - 8 diye gidiyor . Arada ki 6 yok .

IBX Update lerini kurarken şöyle yapıyorum ve bir sorun çıkmıyor .
Sırası ile Delphi7 için
IBXDP704 - IBXDP705 - IBXDP707 - IBXDP708
paketlerini ayrı ayrı yüklüyorum. Verdiğiniz linkte bunlar mevcut zaten .
Bu arada, çok araştırdım IBXDP706 gibi bir şey var mı diye, ama bulamadım . Yani 4 - 5 - 7 - 8 diye gidiyor . Arada ki 6 yok .
