cxgrid çalışma anında Sütun ekleme Çıkarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

cxgrid çalışma anında Sütun ekleme Çıkarma

Mesaj gönderen akuyumcu63 »

merhaba;

cxgrid de çok sayıda sütun var. bu sütunların bir kısmını gösterip geriye kalan sütünları da çalışma zamanında isteğe bağlı olarak göstermek istiyorum.
cxgridin editör ekranında columns customization butonuna basınca gridin bütün kolonları listeleniyor sürükle bırak yaparak sütunlar gride eklenebiliyor. program çalışma zamanında bu işlemi nasıl yapabiliriz.

Teşekkür ederim.
İsteyen, yapabildiğinden daha fazlasını yapar.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: cxgrid çalışma anında Sütun ekleme Çıkarma

Mesaj gönderen freeman35 »

column.visible
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: cxgrid çalışma anında Sütun ekleme Çıkarma

Mesaj gönderen akuyumcu63 »

merhaba;
yaptığım araştırmalarla yapmak istediğim işlemi buldum.

cxgridin OptionsCustomize ->ColumnsQuikCUstomization True yapınca gridin sol üst köşesindeki kutucuğa bir işaret geliyor çalışma anında oraya tıkladığımız zaman gridin bütün sütunlarını isteğimizi aktif yada pasif yapabiliyoruz.

cevap için Teşekkür ederim.
İsteyen, yapabildiğinden daha fazlasını yapar.
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: cxgrid çalışma anında Sütun ekleme Çıkarma

Mesaj gönderen m_ekici »

Aşağıdaki şekilde de cxGrid'in son durumunu DB e kaydedip programa girdiğinizde yeniden çağırabilirsiniz. Her kullanıcıya ait dizaynı gride göre (her grid için bir numara verin) saklar.

Kod: Tümünü seç

// Kaydet 

 TempStream := TMemoryStream.Create;
 cxGridDBTableView1.StoreToStream(TempStream,[gsoUseSummary]);

DZYN_.Close;
DZYN_.SQL.Clear;
DZYN_.SQL.Add('SELECT * FROM INFO_DIZAYN WHERE KULNO='+IntToStr(DBF.KullKodu)+' AND EKRANTURU='+IntToStr(Turno));
DZYN_.Open;
if DZYN_.RecordCount>0 then
    DZYN_.Edit ELSE
    begin
    DZYN_.Insert; 
    DZYN_.FieldValues['KULNO']     :=KullKodu;
    DZYN_.FieldValues['EKRANTURU'] :=TurNo;
    end;

 TempStream.Position := 0;
 DZYN_TANIM.LoadFromStream(TempStream);
 DZYN_.Post;

 finally
 TempStream.Free;
 end;



// Dizayn Getir

 TempStream := TMemoryStream.Create;
 
DZYN_.Close;
DZYN_.SQL.Clear;
DZYN_.SQL.Add('SELECT * FROM INFO_DIZAYN WHERE KULNO='+IntToStr(KullKodu)+' AND EKRANTURU='+IntToStr(TurNo));
DZYN_.Open;
if DZYN_.RecordCount>0 then
   begin
    try
    DZYN_.First;
    (DZYN_.FieldByName('TANIM') as TBlobField).SaveToStream(TempStream);
    TempStream.Position := 0;
    Snc:=0;
    except
    Snc:=1;
    end;
   end else Snc:=3;
except
snc:=1;
end;
DZYN_.Close;

if snc<>0 then exit; // Hata var
 cxGridDBTableView1.RestoreFromStream(dbf.TempStream, False, False, [gsoUseSummary]);
 finally
 dbf.TempStream.Free;
 end;

{
Kaydedilen Tablo yapısı

CREATE TABLE [dbo].[INFO_DIZAYN](
	[KULNO] [int] NOT NULL,
	[EKRANTURU] [int] NOT NULL,
	[TANIM] [image] NULL,
 CONSTRAINT [PK_INFO_DIZAYN] PRIMARY KEY CLUSTERED 
(
	[KULNO] ASC,
	[EKRANTURU] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
}
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: cxgrid çalışma anında Sütun ekleme Çıkarma

Mesaj gönderen akuyumcu63 »

cxgridin kaydını ini dosyalarıyla yapıyorum. formun açılışında ini dosyasından okuyor kapanırken de ini dosyasını kaydediyor.
kodları formdan bulmuştum. şu an bilgisayarım yanımda değil, gerekirse kodları verebilirim.

program çok kullanıcılı kullanıldığı zaman daha dinamik bir yapıya kavuşuyor. sizin yöntemi de müsait olunca deneyeceğim

kolay gelsin,
İsteyen, yapabildiğinden daha fazlasını yapar.
Cevapla