Yorumları: 644
Konuları: 84
Kayıt Tarihi: 04-10-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 11
- Delphi 10.4
- Delphi 10.3
- Delphi 10.2
- Delphi 10.1
- Delphi 10
- Delphi XE Serisi
Rep Puanı: 2.701
Uzman
10-05-2019, Saat: 22:34
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.
GridView özellikleri
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..
Yorumları: 820
Konuları: 135
Kayıt Tarihi: 07-12-2017
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 3.030
Uzman
@
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.
Yorumları: 644
Konuları: 84
Kayıt Tarihi: 04-10-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 11
- Delphi 10.4
- Delphi 10.3
- Delphi 10.2
- Delphi 10.1
- Delphi 10
- Delphi XE Serisi
Rep Puanı: 2.701
Uzman
(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..
Yorumları: 644
Konuları: 84
Kayıt Tarihi: 04-10-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 11
- Delphi 10.4
- Delphi 10.3
- Delphi 10.2
- Delphi 10.1
- Delphi 10
- Delphi XE Serisi
Rep Puanı: 2.701
Uzman
12-05-2019, Saat: 01:08
(Son Düzenleme: 12-05-2019, Saat: 01:12, Düzenleyen: narkotik.)
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..
Yorumları: 644
Konuları: 84
Kayıt Tarihi: 04-10-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 11
- Delphi 10.4
- Delphi 10.3
- Delphi 10.2
- Delphi 10.1
- Delphi 10
- Delphi XE Serisi
Rep Puanı: 2.701
Uzman
(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 ???
Yalnızım ama bir kente yürüyen ordu gibiyim, edebiyattan kaçınmalıyım..
Yorumları: 75
Konuları: 5
Kayıt Tarihi: 03-11-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 370
Acemi
Teşekkür ederim. Son bir yardım daha isteyeceğim. Bunu cxgrid de nasıl kullanacağız.
Yorumları: 229
Konuları: 42
Kayıt Tarihi: 05-08-2019
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.168
Programcı
Merhabalar,
konu eski ama farklı bir çözüm öneriside ben sunayım arşivimizde bulunsun.
cxgridde rowfilter alanında default olarak gelen equal operatörünü kodla runtime like olarak değiştirme konusunda;
formun on-show/create olayında
cxGridDBTableView2.FilterRow.OperatorCustomization := True; // ile kullanıcılara manuel değiştirme imkanı da sunabiliyoruz.
for i := 0 to cxGridDBTableView2.ItemCount-1 do
TcxGridDBColumn(cxGridDBTableView2.Items[i]).Options.FilterRowOperator := foContains;
foContains operatörü like gibi çalışıyor ancak % * vb karakter istemiyor.
dolayısıyla sütun bazlı aramalarda direk aradığımızı buluyor.
Sorsaydı Bilirdi Sormuyor ki Bilsin.
Bilseydi Sorardı Bilmiyor ki Sorsun.