dxdbgridde tarih filtrelerken?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
yazicih
Üye
Mesajlar: 92
Kayıt: 11 Şub 2005 02:10
Konum: Antalya

dxdbgridde tarih filtrelerken?

Mesaj gönderen yazicih »

S.A.
DxDbgridde filtereleme yaptıktan sonra filtertext i alıyorum ve update tablo set where filtertext ile güncelleme yapmak istiyorum. ancak veritabanı oracle olduğu için filtertext teki tarih alanlarını örneğin tarih<'10.01.2005' olarak aldığı için hata oluşuyor. ben dxdbgridde filtreleme yaparken hangi olaya ne yazıp filtertexti değiştirebilirim? dxdbgriddeki yazabileceğim tek events onfilterchanged olayı gözüküyor ama orda data tipini yakalayamıyorum filtertextin tamamını gösteriyor.
yazicih
Üye
Mesajlar: 92
Kayıt: 11 Şub 2005 02:10
Konum: Antalya

Mesaj gönderen yazicih »

dxdbfilter.pas dosyasında şu şekilde değiştirerek sorun çözüldü:
function GetCriteriaValue(AItem: TdxCriteriaItem): string;
var
AVarType: Integer;
begin
if AIsCaption then
Result := AItem.DisplayValue
else
begin
Result := VarToStr(AItem.Value);
AVarType := VarType(AItem.Value);
if (AVarType = varString) then
Result := '''' + Result + '''';
if (AVarType = varDate) then
Result:='to_date('+ quotedstr(Result) + ','+QuotedStr('dd.mm.yyyy')+')';

end;
end;
Cevapla