Fastreportta satır sütun bölme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

Fastreportta satır sütun bölme

Mesaj gönderen Kaptan »

Selamlar.Fastreport triali yeni indirdim ve inceliyorum.
Yapmak istediğim birşey var.Kullanıcı satır ve sütun sayısını girecek.Daha sonra fastreportta satır ve sütun sayısına göre sayfa bölümlenmiş olacak.bi nevi etiket yerlerini gösterecek.
ve olursa Bir etiket için eklenen bileşenleri diğer etiketlere de ekleyeceğim.
bunu fastreportta nasıl yapabilirim?
Teşekkürler.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kod: Tümünü seç

procedure frxReport1OnStartReport(Sender: TfrxComponent);
begin

end;
Denemedim ama Bu kısımdaki event e kod yazarak ayarlama yapabilirsin gibime geliyor.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

sayfada on kayıt yani 10 satır gösterir.

Kod: Tümünü seç

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
Var
Say:Double;
begin
if <Line>=11 then
Engine.NewPage;
End;
sutunda colums özelliğinden ayarlanıyor
ertug
Üye
Mesajlar: 82
Kayıt: 10 Ara 2004 05:41

Mesaj gönderen ertug »

Raporu göstermeden önce:

Kod: Tümünü seç

//FR 3.03 + D6
var
  Sayfa: TfrxReportPage;
begin
  Sayfa := TfrxReportPage(frxReport1.FindObject('Page1')); 
  Sayfa.Columns := 3; //3 kolon
  TfrxMasterData(frxReport1.FindObject('MasterData1')).Height := 
    (Sayfa.Height - Sayfa.TopMargin - Sayfa.BottomMargin) / 10; //10 satır
  frxReport1.ShowReport;
end;
Kod içerisindeki isimleri değiştirmeniz gerekebilir. Yalnız bu kodda bir problem var. MasterData yüksekliğini (Sayfa.Height - Sayfa.TopMargin - Sayfa.BottomMargin) / 10 değerine eşitlememe rağmen sayfaya sadece 9 adet etiket koyuyor. Sanırım unuttuğum bir margin daha var. Onu da siz bulursunuz artık :)

Kolay gelsin.
Kaptan
Üye
Mesajlar: 395
Kayıt: 01 Tem 2005 04:02

Mesaj gönderen Kaptan »

Hepinize teşekkür ederim.Kodları deneyeceğim.
Satır sütunu ayarladık diyelim.İlk hücredeki bileşenleri nasıl diğerlernie kopyalayabilirim.Kolay bir yöntem var mı?
Husonetin dediği gibi onstartpagede kod yazmayı düşünüyorum şu an.Orda yeni bileşenler oluşturup özelliklerini diğerlerine göre ayarlamayı düşünüyorum.ama zor olacak gibi.biraz matematiksel işlem gerekecek sanırım.
Bileşen oluşturma fastreportta delphideki gibi mi yapılıyor.Eklenen bileşenleri fastreportta nasıl bulacağım?
ayrıca design bölümündeki istemediğim kısayolları çıkarabilmem mümkün mü?
Teşekkürler.
ertug
Üye
Mesajlar: 82
Kayıt: 10 Ara 2004 05:41

Mesaj gönderen ertug »

Bir MemoryTable kullanıp kaç tane etiket basacaksanız o kadar satır ekleyiniz. Ben TkbmMemTable kullandım. Aşağıdaki kod 100 tane etiket eklemek için:

Kod: Tümünü seç

var
  d: Integer;
begin
  kbmMemTable1.Close;
  kbmMemTable1.Open;
  d := 0;
  while d < 100 do
  begin
    kbmMemTable1.AppendRecord([d]);
    Inc(d);
  end;
end;
Raporda bir MasterView bandı oluşturup DataSet olarak MemoryTable'ı gösteriniz. Bandın içerisine basacağınız nesneleri koyunuz. Gerisini FR halledecektir.

Bileşen bulmak için frxReport1.FindObject komutunu kullanabilirsiniz. Önceki mesajımda yazdığım kodda geçiyor, oradan inceleyebilirsiniz.

Kolay gelsin.
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Mesaj gönderen Fatih! »

Cevapla