RowIndex out of range hatası

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

RowIndex out of range hatası

Mesaj gönderen akuyumcu63 »

Belli bir tarihten sonraki kayıtları listelesin diye aşağıdaki kodu kullanmaktayım. kod çalışınça filitrelemeyi yapıyor ancak RowIndex out of range diye bir hata mesajı alıyorum. bu hata mesajını nasıl giderebilirim.

cxGrid2DBTableView1.DataController.Filter.Clear;
cxGrid2DBTableView1.DataController.Filter.Active:=false;
with cxGrid2DBTableView1.DataController.Filter do
begin
Root.AddItem(cxGrid2DBTableView1SIRANO2, foGreaterEqual, inttostr(cxBarEditItem3.EditValue), '0');
Active := True;
end;

Kolay gelsin,
İsteyen, yapabildiğinden daha fazlasını yapar.
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: RowIndex out of range hatası

Mesaj gönderen Lost Soul »

Örnek filtreleme
gbView : grid'in dataviewi;
colKurumAdi : filtrelenecek kurum.

Kod: Tümünü seç

var
  s:String;
begin
    s:='%'+kkriter.Text+'%';
    With gbview.DataController.Filter do
    Begin
      BeginUpdate;
      Root.Clear;
      Root.BoolOperatorKind:=fboAnd;
      Root.AddItem(colKURUMADI,foLike,s,s);
      Active:=Root.Count>0;
      EndUpdate;
    End;
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: RowIndex out of range hatası

Mesaj gönderen akuyumcu63 »

öncelikle yardımlarınız için çok teşekkür ederim. verdiğiniz kod çok işimi gördü. ben kodu kendime göre uyarladım.
birde iki kayıt arasını listelemeye çalıştım mesala 10 kayıttan 20 kayıta kadar olan kayıtları listelesin istedim. bu işlem için aşağıdaki kodları kullandım. yine aynı hatayı aldım RowIndex out of range bunu düzeltmeniz bir yolu varmı

s1:=inttostr(cxBarEditItem4.EditValue);
s2:=inttostr(cxBarEditItem5.EditValue);
With cxGrid2DBTableView1.DataController.Filter do
Begin
BeginUpdate;
Root.Clear;
Root.BoolOperatorKind:=fboAnd;
Root.AddItem(cxGrid2DBTableView1SIRANO2,foGreaterEqual,s1,s1);
Root.BoolOperatorKind:=fboAnd;
Root.AddItem(cxGrid2DBTableView1SIRANO2,foLessEqual,s2,s2);
Active:=Root.Count>0;
EndUpdate;
End;
İsteyen, yapabildiğinden daha fazlasını yapar.
Cevapla