Arama yapmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hicker
Üye
Mesajlar: 68
Kayıt: 01 Tem 2003 09:58
Konum: Konya

Arama yapmak

Mesaj gönderen hicker »

merhaba,
dxgridhook arama yaparken sadece formda görüntülenen alan içinde arama yapıyor. mesela datasetimin içinde toplam 300 kayıt var. ilk 5'i o an görüntülenen kısımda. ve aramayı sadece bu 5 kayıtlık bölgede yapıyor. acaba değiştirmem gereken bir özellik mi var yoksa (ki inşallah böyle bi ihtimal yoktur)gridhook sadece görüntülenen bölgeyi mi arar?

şimdiden yardımlarınız için teşekkür ederim...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

arama tüm grid içerisinde, tüm görünen alanlarda yapılır. Yani gridte 300 kayıt gözüküyorsa 300 ü içerisinde, ancak 300 kayıt varda sadece 5 tanesi gridte gözüküyorsa 5 tanesi içinde arama yapar.

Kolay gelsin.
hicker
Üye
Mesajlar: 68
Kayıt: 01 Tem 2003 09:58
Konum: Konya

tam anlatamamışım..

Mesaj gönderen hicker »

aslında 250000 kayıt filan var. query sonucu olarak gridde 300 tanesi görünüyor. bunlardan 5i o an ekranda (gridin yüksekliğine bağlı olarak kaç tane sığıyorsa).diğerleri için scrolla aşağı inmek gerekiyor. yani :
_____________________
1-ahmet
2-mehmet
3-veli
-----------------------------
bu kısımda gridin yüksekliği kadar kayıt ekranda
4-
5-
6-
-----------------------------
7-
.....

benim prorgamımda arama sadece kesik çizgilerle gösterilen bölgede yapılıyor. 7 numarada mustafa olmasına rağmen arama sonucunda bulunamıyor.
sanırım şimdi tam anlatabildim.
hicker
Üye
Mesajlar: 68
Kayıt: 01 Tem 2003 09:58
Konum: Konya

Mesaj gönderen hicker »

az önce kendi demosunu inceledim dxgridhook un. onda bahsettiğim sorun yok. direct oracle access toollarından toracledataset i, grid olarak express quantum grid 3.2.2 kullanıyorum. kullandığım gridin değiştirdiğim özelliklerinden şüphelenip yeni bir gridle denedim hiç bir özelliğini değiştirmeden. ama aynı sorunla yine karşılaştım.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

LoadAllRecords özelliğini True yapıp, unique bir Key verdiniz mi?

Eğer bunları yaptıysanız, dfm dosyasından grid'in özelliklerini kopyala-yapıştır ile gönderirseniz bakıyım.

Kolay gelsin.
hicker
Üye
Mesajlar: 68
Kayıt: 01 Tem 2003 09:58
Konum: Konya

Mesaj gönderen hicker »

LoadAllRecords ve primary key seçmiştim. Fakat Smart Reload yada Smart Refresh seçili değil...

object dxDBGrid3: TdxDBGrid
Left = 0
Top = 0
Width = 375
Height = 213
Bands = <
item
end>
DefaultLayout = True
HeaderPanelRowCount = 1
KeyField = 'cKOD'
SummaryGroups = <>
SummarySeparator = ', '
Align = alClient
Color = 15987699
DragMode = dmAutomatic
TabOrder = 0
BandColor = 15987699
DataSource = srcMusteriListe
Filter.Active = True
Filter.AutoDataSetFilter = True
Filter.CaseInsensitive = True
Filter.DropDownCount = 15
Filter.Criteria = {00000000}
GroupPanelColor = 11711154
GroupPanelFontColor = clBlack
GroupNodeColor = 6443850
HeaderColor = clWhite
HideSelectionColor = 12502460
HideSelectionTextColor = clBlack
HighlightColor = 12502460
HighlightTextColor = clBlack
LookAndFeel = lfUltraFlat
OptionsDB = [edgoCancelOnExit, edgoCanDelete, edgoCanInsert, edgoCanNavigation, edgoConfirmDelete, edgoLoadAllRecords, edgoUseBookmarks]
OptionsView = [edgoAutoWidth, edgoBandHeaderWidth, edgoRowSelect, edgoUseBitmap]
object dxDBGridMaskColumn1: TdxDBGridMaskColumn
Caption = 'C. Kod'
HeaderAlignment = taCenter
ReadOnly = True
Width = 91
BandIndex = 0
RowIndex = 0
FieldName = 'CKOD'
end
object dxDBGridMaskColumn2: TdxDBGridMaskColumn
Caption = 'Ünvan'
HeaderAlignment = taCenter
Width = 269
BandIndex = 0
RowIndex = 0
FieldName = 'CUNVAN1'
end
object dxDBGridMaskColumn3: TdxDBGridMaskColumn
Alignment = taCenter
Caption = 'Ref.'
HeaderAlignment = taCenter
Width = 86
BandIndex = 0
RowIndex = 0
FieldName = 'REFERANS'
end
end
end
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

bir anormallik gözükmüyor ama bir test ortamı oluşturup deneyeceğim. Biraz vakit alır.

Ayrıca şimdi aklıma birşey geldi. eğer bu ayarlardan bazılarını sonradan yapmışsanız, "infoHook.Ini" de bazı eski ayarlar kayıtlı olabilir. Programı kapatıp, bu dosyayı sil ve öyle bir dene.

Kolay gelsin.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

bir dxDBGrid'in özelliklerini sizin gönderdiğiniz yapıda ayarladım ve hiçbir problem olmadan buluyor. Yani kodda herhangi bir problem yok.

Dediğim gibi inFoHook.ini'yi silip bir deneyin.

Kolay gelsin.
hicker
Üye
Mesajlar: 68
Kayıt: 01 Tem 2003 09:58
Konum: Konya

Mesaj gönderen hicker »

infoHook.ini dosyasının günahı yokmuş... sorun filter kapalı değilken dxgridhook aramayı bahsettiğim gibi sadece ekrana sığan bölgede yapıyor... filter'ı quantum wizard'da kapatıp programı çalıştırınca arama işlemi sorunsuz olarak gerçekleşiyor. işin ilginç tarafı filter kapalıyken derlenmiş bir programda kullanıcı dxgridhook aracılığıyla filtreyi açsa bile arama işlemlerinde sorun yaşamıyor.
---Sorunu çıkartan satırlarım bunlarmış meğer...
Filter.Active = True
Filter.AutoDataSetFilter = True
Filter.CaseInsensitive = True
Filter.DropDownCount = 15
Filter.Criteria = {00000000}

Mustafa abi ilgin ve yardımlarından dolayı çok teşekkür ederim. sen üstelemeseydin bu kadar ben çoktan vazgeçip silmiştim gridhook'u... :oops:
Cevapla