Forum
Selam,
Soruyu tam anlayamamış olabilirim. Anladığım kadarı ile cevap vereyim.
Bir filtreye göre 15 tane adresin geldi. Bu 15 adresi iterasyon ile döndün. Her bir dönme işleminde dinamik bir page oluşturup baskıya gönderdin. Artık 15 adres basıldı.
Bu noktaya kadar yaşadığın sorunları yazarsan yardımcı olmaya çalışırım.
İyi Günler Dilerim,
Selam,
Soruyu tam anlayamamış olabilirim. Anladığım kadarı ile cevap vereyim.
Bir filtreye göre 15 tane adresin geldi. Bu 15 adresi iterasyon ile döndün. Her bir dönme işleminde dinamik bir page oluşturup baskıya gönderdin. Artık 15 adres basıldı.
Bu noktaya kadar yaşadığın sorunları yazarsan yardımcı olmaya çalışırım.
İyi Günler Dilerim,
Aynen hocam anladığınız gibi. Fakat bu windows form uygulaması.
Yaşadığım soruna gelince, Şuan konuda da belirttiğim gibi müşteri ekleme ekranını yaptım. Yapacağım yazdırma ekranı için böyle bir konu açma gereği gördüm.
Şuan Yazdırma ekranına başlamadım. Daha önceden belli bir ebata göre ve belli bir alana yazdırma yapmadım şuan fikir alıyorum. (Yazdırma ekranı için Crystal Report düşünüyorum fakat onda da zarfın belli bir yerine oranlama sıkıntı olabilir.)
Durum bundan ibaret
Selam,
Crystal Reportta bir çözüm tabi ki ancak o kadar uzaklaşmana gerek olduğunu düşünmüyorum.
PrintDocument, PrintPreviewDialog, PrintSetupDiaolog bu tarz işler için hazırlanmış kontrollerdir.
Bununla ilgili bir çok kod örneği rahatça bulabilirsin, dilersen ben sana mantığını anlatayım. Mevzu resim çizmek (grafik) gibidir, kalemini al kağıdını al renklerini fontlarını ve nereye neyi koyacağını belirle...
İlk olarak neyi yazdıraksın : Hazırladığın Sayfayı peki hazırladık mı hayır o zaman hazırlayalım.
Formuna bir adet printdocument kontrolü ekle. Bu kontrolün eventlarına gel. Oradan print page eventini oluştur.
Gir bakalım eventin içine ;
kalemini tanımla (çizgi için)
fontlarını tanımla (yazı için)
fırçanı tanımla (yazı için)
çizgi çizmek için drawline , yazı yazmak için drawstring bunlarada parametre olarak kalem / fırça ve hangi noktalar arasında bu işlemi yapacağın bilgilerini ata.. printpreview kontrolü ile test et verdiğin pointler uygun mu diye. Eğer uygun ise ;
iç içe 2 iterasyon ile istediğin baskıları rahatça yazıcıya yollarsın.
Takıldığın noktaları yaz beraber inceleyelim.
İyi Günler Dilerim,
Selam,
Crystal Reportta bir çözüm tabi ki ancak o kadar uzaklaşmana gerek olduğunu düşünmüyorum.
PrintDocument, PrintPreviewDialog, PrintSetupDiaolog bu tarz işler için hazırlanmış kontrollerdir.
Bununla ilgili bir çok kod örneği rahatça bulabilirsin, dilersen ben sana mantığını anlatayım. Mevzu resim çizmek (grafik) gibidir, kalemini al kağıdını al renklerini fontlarını ve nereye neyi koyacağını belirle...
İlk olarak neyi yazdıraksın : Hazırladığın Sayfayı peki hazırladık mı hayır o zaman hazırlayalım.
Formuna bir adet printdocument kontrolü ekle. Bu kontrolün eventlarına gel. Oradan print page eventini oluştur.
Gir bakalım eventin içine ;
kalemini tanımla (çizgi için)
fontlarını tanımla (yazı için)
fırçanı tanımla (yazı için)
çizgi çizmek için drawline , yazı yazmak için drawstring bunlarada parametre olarak kalem / fırça ve hangi noktalar arasında bu işlemi yapacağın bilgilerini ata.. printpreview kontrolü ile test et verdiğin pointler uygun mu diye. Eğer uygun ise ;
iç içe 2 iterasyon ile istediğin baskıları rahatça yazıcıya yollarsın.
Takıldığın noktaları yaz beraber inceleyelim.
İyi Günler Dilerim,
Hocam ilginiz için tekrardan teşekkür ediyorum. Dün akşam sayfayı aşina olduğum Crystal Report u kullarak yaptım. Açıkçası biraz da iş aceleye bindi. Bu yöntemle çözdükten sonra bilgim olması açısından yazdırma işini ikinci yöntem olarak sizin dediğiniz şekilde de deneyeceğim.
Şuan ccrystal report da sayfanın boyutunu ayarlaam işlemi kaldı:
public void Yazdir()
{
try
{
string SokakAdi = cmbSokak.Text;
Baglanti.Open();
DataSet ds = new DataSet();
SqlDataAdapter adp = new SqlDataAdapter(" SELECT Adres,Il,Ilce FROM Musteri_KimlikBilgileri where BagliOlduguSokak = '" + SokakAdi + "' ", Baglanti);
adp.Fill(ds);
FaturaZarfiYazdirma rptDocument = new FaturaZarfiYazdirma();
rptDocument.Load(Application.StartupPath + "~\\FaturaZarfiYazdirma.rpt");
rptDocument.SetDataSource(ds.Tables[0]);
crystalReportviewer1.ReportSource = rptDocument;
}
catch (Exception ex)
{
throw ex;
}
}
bu kod btnYazidr da çalışıyor.