Skip to main content

AccessTr.neT


Reportviewer de kolon gizlemek nasıl olur?

Reportviewer de kolon gizlemek nasıl olur?

#7
Vb.Net'te PrintDocument ile sayfaya şekil çizme işlemi için aşağıdaki kodu kullanabilirsiniz. Dikdörtgen şeklini çizip içine yazı yazdırdım.

NOT :
vt.GetDataTable şeklinde bir kullanım göreceksin. Benim bu projede kullandığım veritabanı sınıfına gönderdiğim Sql cümlesi için DataTable geri döndermektedir. Buraya DataTable olarak çektiğiniz veriyi koymanız gerek.

Kod:
Private Sub prnt_PrintPage(sender As Object, e As System.Drawing.Printing.PrintPageEventArgs)
    Dim yaziTipi As New Font("Tahoma", 12, FontStyle.Bold)

    Dim dt As DataTable = vt.GetDataTable("SELECT sifre FROM tbl_sifre_deposu WHERE kullanildimi=0")

    Dim donguSayac As Integer = 0

    ' Sayfanın başlığını yazalım.
    e.Graphics.DrawString("Öğrenci numarasının olduğu alana 000000 yazınız." & vbCr & vbLf & "Lütfen kullandığınız şifrenin üzerini çiziniz.", yaziTipi, Brushes.Black, 50, 30)

    Dim genislik As Integer = 100
    Dim i As Integer = 0
    Dim konum As Integer = 50
    Dim satir As Integer = 100

    While i < 6
        For Each row As DataRow In dt.Rows
            donguSayac += 1

            If i Mod 7 = 0 Then
                satir = satir + yaziTipi.Height + 3
                konum = 50
            End If

            e.Graphics.DrawString(row("sifre").ToString(), yaziTipi, Brushes.Black, konum, satir)
            e.Graphics.DrawRectangle(Pens.Black, konum, satir, 100, yaziTipi.Height)
            konum = konum + genislik
            i += 1
        Next
    End While
End Sub

AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#8
Teşekkürler. Bu örneğiniz de işimize yarar. Yalnız şu raporda kolon gizleme olayını bir türlü bulamadım gitti. Saygılar.
Cevapla
#9
.rar deneme.rar (Dosya Boyutu: 46,15 KB | İndirme Sayısı: 14)
Yapmak istediğim Olay kısaca şu;
Vb.NEt ile Ekteki Acces veritabanındaki puantaj tablosundaki kayıtlara ait bir rapor yapmak istiyorum. Bu puantaj tablosunu tasarımından da göreceğiniz gibi E01 den E31 e kadar kolonlar (alanlar) var. Yalnız ben seçtiğim bir ayda kaç gün varsa raporumda o kadar kolon görünsün istiyorum.Bir form oluşturdum.Ay seç ve rapor göster dediğimde mesela şubat ayı puantaj yazdırmak istediğimde raporum e01 den e31 e kadar değil de e01 den e28 'e kadar görünsün istiyorum. Bu işlemin Vb.net reportviewer da bir çözümü var mı acep? Görüntülemek istediğim raporun hayali görünüşünü (! hayal diyorum çünkü gerçekleştiremedim bu görüntüyü bir türlü) aşağıdaki resimde gösterdim.
[Resim: do.php?img=4596]
Cevapla
#10
Bu veriler tabloda değil mi? Evet cevabına göre gidecek olursam:

Benim örnekteki While döngüsünde göreceğiniz gibi bir döngüye gireceksiniz. Bu değeri istenilen ayın kaç gün çektiğine göre belirleyeceksiniz.

While <= AyGunSayisi

şeklinde olacak. While içinde sütunları çizdiğiniz için zaten Şubat ayında 28 sütunu geçmeyecek.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
#11
(01/10/2014, 12:49)alpeki99 yazdı: Bu veriler tabloda değil mi? Evet cevabına göre gidecek olursam:

Evet veriler Access veritabaın tablosunda ve bu Vb.net ile bu tablodan raporlama yapacağım.
Cevapla
#12
sayın alpeki99, bu konuda çok basit bir örnek ekleyebilir misiniz ?
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task