fast report calisma mantigi ve export yetenegi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
fast report calisma mantigi ve export yetenegi
arkadaslar merhaba,
projede fast report kullanmaya karar verdim ama bazi cozemedigim kisimlar
ile ilgili olarak sizden yardim almam gerekiyor. fast reportun calisma
mantigina cok asina degilim.
proje plugin yapisina sahip , hemen hemen her bir rapor ayri bir dll
icerisinde yer aliyor.
database , frxReport ve export bilesenleri ana exe uzerinde yer aliyor.
dataset , frxdbdataset gibi bilesenlerde plugin icerisindeki formda yer
aliyor. database ve frxReport bilesenlerini parametre olarak plugine gonderip ,
plugindeki frxdbdataseti frxReporta ekleyip, rapor dosyasinin adini belirtip
ShowReport diyorum lakin frxdbdataset olusturulmamis tarzinda hatalar
aliyorum.
tek bir tane frxReport bileseni kullanarak raporlama isini cozmenin bir yolu
var mi?
+
fast reportun export bilesenlerinden memnun musunuz?
projede fast report kullanmaya karar verdim ama bazi cozemedigim kisimlar
ile ilgili olarak sizden yardim almam gerekiyor. fast reportun calisma
mantigina cok asina degilim.
proje plugin yapisina sahip , hemen hemen her bir rapor ayri bir dll
icerisinde yer aliyor.
database , frxReport ve export bilesenleri ana exe uzerinde yer aliyor.
dataset , frxdbdataset gibi bilesenlerde plugin icerisindeki formda yer
aliyor. database ve frxReport bilesenlerini parametre olarak plugine gonderip ,
plugindeki frxdbdataseti frxReporta ekleyip, rapor dosyasinin adini belirtip
ShowReport diyorum lakin frxdbdataset olusturulmamis tarzinda hatalar
aliyorum.
tek bir tane frxReport bileseni kullanarak raporlama isini cozmenin bir yolu
var mi?
+
fast reportun export bilesenlerinden memnun musunuz?
Re: fast report calisma mantigi ve export yetenegi
Merhabalar ,
Tek bir TfrxReport bileşeniyle bu işi çözebilirsiniz fakat raporları dosyadan yada stream olarak yüklemeniz gerekir, yüklediğiniz rapor dosyasına göre frxReport kendini şekillendirir, kullandığı frxDBDataset nesneleride yüklediğiniz rapor dosyasına göre aranır, ayrıca TfrxReport nesnenizin bulunduğu formun impleme ettiği ve o an yaratılmış tüm formlarda bulunan frxDBDataset leri yüklediğiniz raporda kullanabilirisiniz. Benim önerim ana TfrxReport nesnenizin hiç bir property sini değiştirmeyin dataset felan bağlamayın öylece dursun, sadece rapor yükleyin her türlü değişikiği yüklediğiniz rapor dosyası üzerinde yapın. ayrıca siz ğer bir dosyaya kayıt etmezseniz varsayılan olarak frxReport nesnenizde tasarladığınız rapor projeye resource olarak eklenir.
FastReport un export yeteneği şimdiye kadar projelerimizde hep yeterli oldu, birtek excel ole exportu pek hoş değil hem uzun sürüyor hemde karışık raporlarda çok düzgün değil bunun yerine CSV exportu kullanıyoruz çok daha başarılı haricindeki tüm exportları aynen görüldüğü gibi çıktı üretiyor.
Tek bir TfrxReport bileşeniyle bu işi çözebilirsiniz fakat raporları dosyadan yada stream olarak yüklemeniz gerekir, yüklediğiniz rapor dosyasına göre frxReport kendini şekillendirir, kullandığı frxDBDataset nesneleride yüklediğiniz rapor dosyasına göre aranır, ayrıca TfrxReport nesnenizin bulunduğu formun impleme ettiği ve o an yaratılmış tüm formlarda bulunan frxDBDataset leri yüklediğiniz raporda kullanabilirisiniz. Benim önerim ana TfrxReport nesnenizin hiç bir property sini değiştirmeyin dataset felan bağlamayın öylece dursun, sadece rapor yükleyin her türlü değişikiği yüklediğiniz rapor dosyası üzerinde yapın. ayrıca siz ğer bir dosyaya kayıt etmezseniz varsayılan olarak frxReport nesnenizde tasarladığınız rapor projeye resource olarak eklenir.
FastReport un export yeteneği şimdiye kadar projelerimizde hep yeterli oldu, birtek excel ole exportu pek hoş değil hem uzun sürüyor hemde karışık raporlarda çok düzgün değil bunun yerine CSV exportu kullanıyoruz çok daha başarılı haricindeki tüm exportları aynen görüldüğü gibi çıktı üretiyor.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Re: fast report calisma mantigi ve export yetenegi
cevap icin tesekkur ederim.
fastreportun datasetleri rapora baglama mantigi gercekten cok tuhaf. fr3 uzantili rapor dosyasinda dataseti form adini kullanarak baglamis.
calisma zamaninda ben form4 ten bir tane de olusturabilirim , bir kac tanede olusturabilirim.
2. olusturulan form4 ten raporu cagirdigim zaman fastreport gidip 1. olusturulan form4 te ki frxdbDatasete baglanmaya calisiyor. bu da hatali bir rapor olusmasina neden oluyor. bu nedenle raporun tasarim asamasinda rapor sekmesinden her hangi bir dataseti rapora baglayamiyorum.
bu problemi raporun datasetlerini calisma zamaninda delphi icerisinden atayarak (hem masterband hem de rapor uzerindeki frxMemoView bilesenlerine) asabiliyorum ama gercekten hamallik oluyor. hem raporu tasarlarken hem de run time de fazladan zaman kaybettiriyor.
seklinde bir baglama turu olsa ya da datasetin bulundugu formu xml de direkt tutmak yerine datasetin bulundugu formu calisma zamaninda set edebilecegim bir ozelligi olsa sorunum cozulecek gibi ama boyle bir yol da bulamadim.
bu arada frxReportta ki dataset ozelligi ne amacla kullaniliyor ?
fastreportun datasetleri rapora baglama mantigi gercekten cok tuhaf. fr3 uzantili rapor dosyasinda dataseti form adini kullanarak baglamis.
Kod: Tümünü seç
<TfrxMasterData Name="MasterData1" Height="22,67718" Left="0" Top="18,89765" Width="718,1107" ColumnWidth="0" ColumnGap="0" DataSet="Form4.frxDBDataset1" DataSetName="frxDBDataset1" RowCount="0">
<TfrxMemoView Name="Memo1" Left="11,33859" Top="3,77953" Width="94,48825" Height="18,89765" ShowHint="False" DataSet="Form4.frxDBDataset1" DataSetName="frxDBDataset1" Text="[frxDBDataset1."ADI"]"/>
</TfrxMasterData>
2. olusturulan form4 ten raporu cagirdigim zaman fastreport gidip 1. olusturulan form4 te ki frxdbDatasete baglanmaya calisiyor. bu da hatali bir rapor olusmasina neden oluyor. bu nedenle raporun tasarim asamasinda rapor sekmesinden her hangi bir dataseti rapora baglayamiyorum.
bu problemi raporun datasetlerini calisma zamaninda delphi icerisinden atayarak (hem masterband hem de rapor uzerindeki frxMemoView bilesenlerine) asabiliyorum ama gercekten hamallik oluyor. hem raporu tasarlarken hem de run time de fazladan zaman kaybettiriyor.
Kod: Tümünü seç
DataSet="Self.frxDBDataset1"
bu arada frxReportta ki dataset ozelligi ne amacla kullaniliyor ?
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Re: fast report calisma mantigi ve export yetenegi
ben mi yanlis yapiyorum yoksa fast report mu mantiksiz davraniyor anlamadim.
ufak bir proje yaptim.
ana programi calistirinca(form5) child formu ac dugmesi ile yeni child formlar acabiliyorsunuz. (form2)
frxRaport bileseni form2 uzerinde duruyor. form2 uzerindeki dugmeye tikladiginizda ise yeni bir child form daha aciliyor. (form1)
frxDBDataset bileseni bu form uzerinde duruyor ve yazdirma islemide bu formdan yapiliyor.
iki tane form1 actiginizda ve yazdir dugmelerine tikladiginizda sorgulamanin sonucu ne olursa olsun fast report ilk olsuturulan form1 de ki dataseti rapor olarak dokuyor.
eger dogru calisan yazdir dugmesine tiklarsaniz bu sefer olmasi gerektigi gibi rapor olusuyor lakin rapor uzerindeki butun veri bilincli bilesenelere run time de dataset ve datafield degerlerinin atanmasi gerekiyor.
ekran goruntuleri ve projenin kaynak kodu asagidadir.
hatali olan ekran görüntüsü
olmasi gereken ekran goruntusu
ufak bir proje yaptim.
ana programi calistirinca(form5) child formu ac dugmesi ile yeni child formlar acabiliyorsunuz. (form2)
frxRaport bileseni form2 uzerinde duruyor. form2 uzerindeki dugmeye tikladiginizda ise yeni bir child form daha aciliyor. (form1)
frxDBDataset bileseni bu form uzerinde duruyor ve yazdirma islemide bu formdan yapiliyor.
iki tane form1 actiginizda ve yazdir dugmelerine tikladiginizda sorgulamanin sonucu ne olursa olsun fast report ilk olsuturulan form1 de ki dataseti rapor olarak dokuyor.
eger dogru calisan yazdir dugmesine tiklarsaniz bu sefer olmasi gerektigi gibi rapor olusuyor lakin rapor uzerindeki butun veri bilincli bilesenelere run time de dataset ve datafield degerlerinin atanmasi gerekiyor.
ekran goruntuleri ve projenin kaynak kodu asagidadir.
hatali olan ekran görüntüsü
olmasi gereken ekran goruntusu
- Dosya ekleri
-
- FastReportMDI.rar
- projenin kaynak kodu
dbdemos veritabani ve fast report bilesenlerini kullaniyor. - (32.11 KiB) 265 kere indirildi
Re: fast report calisma mantigi ve export yetenegi
Aşağıdaki kodu inceleyin.
At default FastReport uses grobal Datasets list which are initialized in the module frxClass. After creating copies of TfrxDBDataset, it adds it them this list. In view of this, it’s not possible to use Datasets with the same name (Even in different streams). For using local Datasets , you need to use the following code :
At default FastReport uses grobal Datasets list which are initialized in the module frxClass. After creating copies of TfrxDBDataset, it adds it them this list. In view of this, it’s not possible to use Datasets with the same name (Even in different streams). For using local Datasets , you need to use the following code :
Kod: Tümünü seç
frxReport.EngineOptions.UseGlobalDataSetList := False;
frxReport.EnabledDataSets.Clear();
frxReport.EnabledDataSets.Add(frxDataSet);
frxReport.LoadFromFile(ReportName);
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Re: fast report calisma mantigi ve export yetenegi
csunguray yazdı:Aşağıdaki kodu inceleyin.
At default FastReport uses grobal Datasets list which are initialized in the module frxClass. After creating copies of TfrxDBDataset, it adds it them this list. In view of this, it’s not possible to use Datasets with the same name (Even in different streams). For using local Datasets , you need to use the following code :
Kod: Tümünü seç
frxReport.EngineOptions.UseGlobalDataSetList := False; frxReport.EnabledDataSets.Clear(); frxReport.EnabledDataSets.Add(frxDataSet); frxReport.LoadFromFile(ReportName);
csunguray, tesekkur ederim.
fr3 dosyasindan form isimlerini silince bu sekilde calisiyor. bu ozellik 4.6 surumunde eklenmis sanirim. bendeki surum 4.7. bir de 4.8 i indirip deneme yapmam lazim. her defasinda dosya uzerinde elle degisiklik yapmaktan kurtulurum belki.
fastreport bir taraftan isleri cok kolaylastirmisken bir taraftanda berbat edip birakmis.
frxReport bilesenini direkt frxReport1.metodlar seklinde kullanmak ile benimMetodum(frxReport1) seklinde ki bir metodun icinden kullanmak arasinda bile davranis farklari olusuyor.
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Re: fast report calisma mantigi ve export yetenegi
fast reportun son surumu ile denedigim yukaridaki kod hala hatali rapor uretmeye devam ediyor.(Owner as TForm2).frxReport1.Clear;
(Owner as TForm2).frxReport1.DataSets.Clear;
(Owner as TForm2).frxReport1.EnabledDataSets.Clear;
(Owner as TForm2).frxReport1.EngineOptions.UseGlobalDataSetList:=false;
(Owner as TForm2).frxReport1.EnabledDataSets.Add(frxDBDataset1);
(Owner as TForm2).frxReport1.LoadFromFile('r1.fr3');
(Owner as TForm2).frxReport1.PrepareReport();
(Owner as TForm2).frxReport1.ShowReport();
en iyi cozum sanirim rapor dosyalarindan form on adini silen ufak bir program yazmak ya da quick reporta geri donmek
Re: fast report calisma mantigi ve export yetenegi
LoadFromFile satırını işlemlerden önceye almayı deneyin. Yani raporu diskten yükledikten sonra Dataset'leri sıfırlayın. FastReport un verdiği uyarı ile örnek uyuşmuyor.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
- sadettinpolat
- Moderator
- Mesajlar: 2131
- Kayıt: 07 Ara 2003 02:51
- Konum: Ankara
- İletişim:
Re: fast report calisma mantigi ve export yetenegi
denemedigim olasilik kalmadi gibi
boyle
ya da boyle
hicbirsey farketmiyor.
grup vitamin den istek sarki istiyorum fast report icin
a acayipsin
b acayipsin
c hiçbiri
d hepsi
boyle
Kod: Tümünü seç
(Owner as TForm2).frxReport1.EngineOptions.UseGlobalDataSetList:=false;
(Owner as TForm2).frxReport1.EnabledDataSets.Clear;
(Owner as TForm2).frxReport1.EnabledDataSets.Add(frxDBDataset1);
(Owner as TForm2).frxReport1.LoadFromFile('r1.fr3');
(Owner as TForm2).frxReport1.PrepareReport();
(Owner as TForm2).frxReport1.ShowReport();
Kod: Tümünü seç
(Owner as TForm2).frxReport1.LoadFromFile('r1.fr3');
(Owner as TForm2).frxReport1.EngineOptions.UseGlobalDataSetList:=false;
(Owner as TForm2).frxReport1.EnabledDataSets.Clear;
(Owner as TForm2).frxReport1.EnabledDataSets.Add(frxDBDataset1);
(Owner as TForm2).frxReport1.PrepareReport();
(Owner as TForm2).frxReport1.ShowReport();
grup vitamin den istek sarki istiyorum fast report icin
a acayipsin
b acayipsin
c hiçbiri
d hepsi
Re: fast report calisma mantigi ve export yetenegi
Hocalarım merhaba.
Konu çok eski ama @sadettinpolat hocamın yaşadığı problemin aynısını yaşıyorum.
Herşeyi denememe rağmen hiç bir çözüm bulamadım. Fast report'un lisanslı son sürümünü kullanıyorum.
Acaba sizler bir çözüm bulabildinizmi?
Konu çok eski ama @sadettinpolat hocamın yaşadığı problemin aynısını yaşıyorum.
Herşeyi denememe rağmen hiç bir çözüm bulamadım. Fast report'un lisanslı son sürümünü kullanıyorum.
Acaba sizler bir çözüm bulabildinizmi?
Re: fast report calisma mantigi ve export yetenegi
Fast report'un rapor hazırlamakla alakalı 50-60 sayfalık bir dökümanı var. Biraz ingilizceniz varsa, onu bir inceleyip devam edin. Çok faydası olur.
Kolay gelsin.
Kolay gelsin.
Re: fast report calisma mantigi ve export yetenegi
Teşekkürler hocam.
Dökümanın Linki sizde varsa verebilirmisiniz.
Dökümanın Linki sizde varsa verebilirmisiniz.