Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
CxGrid FilterRow Like
#1
Tongue 
Merhaba,
Mevcutta CxGridde kalıtım alan bir nesnede FilterRow özelliğini kullanmaktayım. Hücrede yapılan aramalarda iki tarafada Like %aranan% koyma özelliğini görememekteyim. 

1680OD.png

qd5nOW.png

GridView özellikleri
v6O7vR.png
V9kR1r.png

Gridin mevcutta böyle bir özelliği varmıdır, var ise yardımlarınızı beklemekteyim. SupportedLike açık iken tek taraflı like çalışmakta
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#2
@narkotik benim bildiğim kadarı ile yok siz aradığınız şeyi yazdıktan sonra PercentWildchard kısmındaki değeride yazıyorsunuz
Ben genelde bu değeri % yerine * yapıyorum kullanıcı ahmet, *ahmet yada ahmet* şeklinde yazarak aramış oluyor
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#3
(11-05-2019, Saat: 19:35)adelphiforumz Adlı Kullanıcıdan Alıntı: @narkotik  benim bildiğim kadarı ile yok siz aradığınız şeyi yazdıktan sonra PercentWildchard kısmındaki değeride yazıyorsunuz
Ben genelde bu değeri % yerine * yapıyorum kullanıcı ahmet, *ahmet yada ahmet* şeklinde yazarak aramış oluyor

Açıkcası beni çözmüyor, konu ile ilgili bir araştırma yapayım
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#4
Sorun çözülmüştür.

  TSKGridDBDataController = class (TcxGridDBDataController)
 private
   //
 protected
   procedure FilterChanged;override;
 end;


procedure TSKGridDBDataController.FilterChanged;
var
 xValue  : string;
 xColumm : TcxGridDBColumn;
 xView   : TcxGridDBTableView;
begin
 inherited;
 Try
   if GetGridView <> nil then
   begin
     xView := TSKGridView(Self.GetGridView);
     xView.BeginUpdate;
     Filter.BeginUpdate;
     with xView,ViewData do
     begin
        if FilterRow.Focused then
        begin
          xColumm := TcxGridDBColumn(Controller.FocusedColumn);
          if (xColumm <> nil) and (xColumm.PropertiesClassName = '') and (xColumm.DataBinding.Field.DataType = ftString) then
          begin
            xValue := VarToStr(FilterRow.Values[xColumm.Index]);
            if (Length(xValue)> 0) and (AnsiPos('%',xValue) = 0) then
              FilterRow.Values[xColumm.Index] := '%' + xValue + '%';
          end;
        end;
     end;
     Filter.EndUpdate;
     xView.EndUpdate;
   end;
 Except
   // Olası bir hatayı kes
 End;
end;
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#5
(12-05-2019, Saat: 01:08)narkotik Adlı Kullanıcıdan Alıntı: Sorun çözülmüştür.

  TSKGridDBDataController = class (TcxGridDBDataController)
 private
   //
 protected
   procedure FilterChanged;override;
 end;


procedure TSKGridDBDataController.FilterChanged;
var
 xValue  : string;
 xColumm : TcxGridDBColumn;
 xView   : TcxGridDBTableView;
begin
 inherited;
 Try
   if GetGridView <> nil then
   begin
     xView := TSKGridView(Self.GetGridView);
     xView.BeginUpdate;
     Filter.BeginUpdate;
     with xView,ViewData do
     begin
        if FilterRow.Focused then
        begin
          xColumm := TcxGridDBColumn(Controller.FocusedColumn);
          if (xColumm <> nil) and (xColumm.PropertiesClassName = '') and (xColumm.DataBinding.Field.DataType = ftString) then
          begin
            xValue := VarToStr(FilterRow.Values[xColumm.Index]);
            if (Length(xValue)> 0) and (AnsiPos('%',xValue) = 0) then
              FilterRow.Values[xColumm.Index] := '%' + xValue + '%';
          end;
        end;
     end;
     Filter.EndUpdate;
     xView.EndUpdate;
   end;
 Except
   // Olası bir hatayı kes
 End;
end;

xView := TSKGridView(Self.GetGridView);    TSKGridView ???
Cevapla
#6
(12-05-2019, Saat: 11:46)faktoral Adlı Kullanıcıdan Alıntı:
(12-05-2019, Saat: 01:08)narkotik Adlı Kullanıcıdan Alıntı: Sorun çözülmüştür.

  TSKGridDBDataController = class (TcxGridDBDataController)
 private
   //
 protected
   procedure FilterChanged;override;
 end;


procedure TSKGridDBDataController.FilterChanged;
var
 xValue  : string;
 xColumm : TcxGridDBColumn;
 xView   : TcxGridDBTableView;
begin
 inherited;
 Try
   if GetGridView <> nil then
   begin
     xView := TSKGridView(Self.GetGridView);
     xView.BeginUpdate;
     Filter.BeginUpdate;
     with xView,ViewData do
     begin
        if FilterRow.Focused then
        begin
          xColumm := TcxGridDBColumn(Controller.FocusedColumn);
          if (xColumm <> nil) and (xColumm.PropertiesClassName = '') and (xColumm.DataBinding.Field.DataType = ftString) then
          begin
            xValue := VarToStr(FilterRow.Values[xColumm.Index]);
            if (Length(xValue)> 0) and (AnsiPos('%',xValue) = 0) then
              FilterRow.Values[xColumm.Index] := '%' + xValue + '%';
          end;
        end;
     end;
     Filter.EndUpdate;
     xView.EndUpdate;
   end;
 Except
   // Olası bir hatayı kes
 End;
end;

xView := TSKGridView(Self.GetGridView);    TSKGridView ???
TcxGridDBTableView
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Cevapla
#7
Teşekkür ederim. Son bir yardım daha isteyeceğim. Bunu cxgrid de nasıl kullanacağız.
Cevapla
#8
(12-05-2019, Saat: 16:04)faktoral Adlı Kullanıcıdan Alıntı: Teşekkür ederim. Son bir yardım daha isteyeceğim. Bunu cxgrid de nasıl kullanacağız.

Merhaba,
@narkotik, TcxGridDBDataController sınınfından yeni bir sınıf (TSKGridDBDataController) türetmiştir. Yine aynı sınıfa ait FilterChanged olayını ezmiştir. Yani bu olayı çağırmış ve yazdığı yeni entegrasyonlarla (kodlarla) çalışmaya zorlamıştır.
TcxGridDBDataController standart sınıfı yerine kendi TSKGridDBDataController sınıfını (bileşenini) kullandığında, herhangi bir ek kod kullanmadan yeni filtered özelliği her cxGrid'inde otomatik olarak çalışacaktır. 
Yani herhangi bir kullanım biçimi yok. Bir bileşenden türettiği yeni bir bileşene ek özellikler katmıştır.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#9
@Fesih ARSLAN    @narkotik  Teşekkür ederim.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  CXGrid mevcut ayarların kaydedilmesi ve yeniden çağrılması Kovacs 4 398 24-05-2020, Saat: 15:24
Son Yorum: hasangoktas
  Cxgrid- Export to Excel HuseyinF 6 720 13-04-2020, Saat: 12:59
Son Yorum: Bay_Y
  cxGrid>FindPanel Arama Yapılacak Kolonları Belirleme hi_selamlar 8 1.347 21-03-2020, Saat: 17:38
Son Yorum: baloglurecep
Photo cxgrid sütun filtereleme akuyumcu63 3 605 20-02-2020, Saat: 14:58
Son Yorum: Ahmet İPEKÇİ
  cxgrid column otomaitik sığdırma erdogan 1 359 18-02-2020, Saat: 10:34
Son Yorum: adelphiforumz



Konuyu Okuyanlar: 1 Ziyaretçi