cxgird seçilin hücreye konumlanma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
AfterPost
Üye
Mesajlar: 144
Kayıt: 12 Tem 2014 10:22

cxgird seçilin hücreye konumlanma

Mesaj gönderen AfterPost »

Merhabalar;
1)DBGrid deki karşılı şu olan kodun;
DBGrid1.SelectedField:=DBGrid1.Fields[4];
CxGrid deki karşılığını bir türlü bumladım..
2)CxGrid de enter ile nasıl dolaşıyoruz?
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: cxgird seçilin hücreye konumlanma

Mesaj gönderen fesiharslan »

Merhaba;
Birinci sorunuzun cevabı;
3 farklı yöntemle cxGrid'in sütununa odaklanabilirsiniz.

1. Yol: Sütun adı ile odaklanmak.

Kod: Tümünü seç

cxGridSutunAdi.Focused := True;
2. Yol: Sütun index'i ile odaklanmak.

Kod: Tümünü seç

cxGridTableViewAdi.Columns[0].Focused := True;
3. Yol: cxGrid'in bağlı olduğu tablo alan adı ile odaklanmak.

Kod: Tümünü seç

cxGridTableViewAdi.GetColumnByFieldName('TABLO_ALAN_ADI').Focused := True;
İyi çalışmalar...
AfterPost
Üye
Mesajlar: 144
Kayıt: 12 Tem 2014 10:22

Re: cxgird seçilin hücreye konumlanma

Mesaj gönderen AfterPost »

Çok teşekkür ederim ,
bir de şunun karşılığını söyler misiniz?
if DBGrid1.SelectedIndex=11 then ....cxgriddeki karşılığı
bu arada enter e ile dolaşmayı optinosbehavior den gotonextcellenter i true yapmak gerekiyormuş belki birinin işine yarar diye yazdım
Kullanıcı avatarı
fesiharslan
Üye
Mesajlar: 591
Kayıt: 20 Eki 2006 11:37
Konum: Erzurum
İletişim:

Re: cxgird seçilin hücreye konumlanma

Mesaj gönderen fesiharslan »

AfterPost yazdı:Çok teşekkür ederim ,
bir de şunun karşılığını söyler misiniz?
if DBGrid1.SelectedIndex=11 then ....cxgriddeki karşılığı
bu arada enter e ile dolaşmayı optinosbehavior den gotonextcellenter i true yapmak gerekiyormuş belki birinin işine yarar diye yazdım
Merhaba;
cxGrid'in row focused veya FocusedRecordIndex özelliği ile yapabilirsiniz.

Kod: Tümünü seç

cxGridTableViewAdi.ViewData.Rows[11].Focused := True;
Veya

Kod: Tümünü seç

cxGridTableViewAdi.DataController.FocusedRecordIndex := 11;
İyi çalışmalar...
AfterPost
Üye
Mesajlar: 144
Kayıt: 12 Tem 2014 10:22

Re: cxgird seçilin hücreye konumlanma

Mesaj gönderen AfterPost »

Çok teşekkür ederim
cvheneburi
Üye
Mesajlar: 95
Kayıt: 07 Eki 2010 03:55

Re: cxgird seçilin hücreye konumlanma

Mesaj gönderen cvheneburi »

konu hakkında benim de benzer bir sıkıntım var ben cxgrid içerisinde herhangi bir kolonda iken entere basınca edit e setfocus yaptırıyorum fakat daha sonra cxgrid e tekrar kayıt yapmak istediğimde read of addres hatası alıyorum

Kod: Tümünü seç

if key=VK_RETURN then
begin

    dmodul.urunler.Close;
    dmodul.urunler.SQL.Clear;
    dmodul.urunler.SQL.Add('select * from urun where BARCOD='+QuotedStr(Edit2.Text));
    dmodul.urunler.Open;

  if dmodul.urunler.RecordCount=0 then
   begin
     Application.MessageBox('Urun Bulunamadı','HATA',mb_ok+MB_ICONERROR);
     Edit2.Text:='';
     Edit2.SetFocus;
     Exit;
   end;// ürün yoksa bitti
    cxGrid1.Invalidate(true);
    with cxGrid1TableView1.DataController do
      begin
        RecordCount:=RecordCount+1;
        //cxGrid1TableView1.Controller.FocusedRecordIndex:=RecordCount-1;
        FocusedRecordIndex:=RecordCount-1;
        //a:=cxGrid1TableView1.Controller.FocusedRecordIndex;

        Values[FocusedRecordIndex ,0] :=dmodul.urunlerBARCOD.AsString;
        Values[FocusedRecordIndex ,1] :=dmodul.urunlerURUNADI.AsString;
        Values[FocusedRecordIndex ,2] :=dmodul.urunlerTURU.AsString;
        Values[FocusedRecordIndex ,3] :=dmodul.urunlerCINSI.AsString;
        Values[FocusedRecordIndex ,4] :=dmodul.urunlerSATIS1.AsFloat;
        Values[FocusedRecordIndex ,5] :='1';
        if Label16.Caption<>'........' then
        Values[FocusedRecordIndex ,7] :=dmodul.musterilerISKONTO.AsFloat
        else
        Values[FocusedRecordIndex ,7] :='0';
        Values[FocusedRecordIndex ,10] :=dmodul.urunlerKDVORAN.AsString;
        cxGrid1TableView1.DataController.Post(true);
      end; // with data controller bitti
       cxGrid1TableView1.ApplyBestFit();
       Edit2.Text:='';
       Edit2.SetFocus;
       cxGrid1.Invalidate(true);
end; // entere bas bitti

cvheneburi
Üye
Mesajlar: 95
Kayıt: 07 Eki 2010 03:55

Re: cxgird seçilin hücreye konumlanma

Mesaj gönderen cvheneburi »

sorun ben cxgrid in ondatachanged olayında yazdığım hesaplama kodundan kaynaklanıyorumuş oraya
cxGrid1TableView1.Controller.FocusedRecordIndex:=RecordCount-1; kodunu ekleyince sorun çözüldü
Cevapla