Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana Cara Menampilkan Nomor Halaman pada Badan Laporan SSRS 2008 R2?

Pertama, Anda perlu menggunakan variabel laporan: klik kanan pada ruang kosong laporan -> Variabel -> Buat variabel seperti PageCount (atur nilai default ke 0)

Kemudian di header atau footer Anda -> buat kotak teks dan atur ekspresi ->

=Variables!PageCount.SetValue(Variables!PageCount.Value+1)

Itu akan meningkat secara otomatis untuk setiap halaman.(PENTING:JANGAN sembunyikan dari header atau footer, SetValue TIDAK AKAN berfungsi jika Anda menyembunyikan kotak, jadi ubah font menjadi 1 atau teks menjadi putih, lakukan apa saja, hanya JANGAN sembunyikan (ini akan mencetak 'True' saat pengaturan berlangsung))

Kemudian Anda dapat menggunakan:

=Variables!PageCount.Value

di bagian mana pun dari badan laporan Anda untuk mengakses nomor halaman.

PENTING:Harap DICATAT bahwa saya mencoba menggunakan Globals!PageNumber untuk mengatur variabel tetapi akhirnya TIDAK dapat diakses dari badan laporan. Jadi, itu harus sesuatu yang dapat diakses dari Header/Footer OR Body.

Dalam kasus saya, saya harus mengatur ulang nomor Halaman per setiap instance Grup saya. Jadi saya hanya mengatur pemicu di akhir grup. (mis. grup saya, saya akan memiliki tampilan Total.

Karena dalam fungsi IIF baik bagian Benar dan Salah akan diproses, jadi jika Anda menempatkan setter di IIF seperti di bawah ini:

=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),Variables!PageCount.SetValue(0))

 ) 

Anda akan berakhir memiliki nilai 0 sepanjang waktu, karena laporan akan Memeriksa Bagian Benar kemudian bagian Salah, kedua setter akan dieksekusi (nilai akan ditetapkan dua kali)

jadi kami membutuhkan 2 kotak dan sesuatu seperti:(Anda harus menyembunyikan kotak yang tidak perlu kondisi pemeriksaan Anda)

=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),"")
)

Anda perlu menyembunyikan kotak ini ketika NOT IsNothing(ReportItems!TotalBox.Value)

=IIF(NOT IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(0),"")
)

Sekali lagi Anda perlu menyembunyikan kotak ini ketika IsNothing(ReportItems!TotalBox.Value)

Tentu saja Anda dapat menggunakan beberapa cara lain untuk menentukan akhir dari instance grup, seperti:buat kotak teks yang HANYA berisi nilai tetap di akhir tabel grup Anda. dan menyembunyikannya. ketika Anda memeriksa pemicu, lakukan pendekatan yang sama seperti yang saya lakukan.

Ini berfungsi dengan baik untuk semua versi di atas 2008 R2 (termasuk).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server SEMUA Operator Dijelaskan

  2. Enkripsi string koneksi di app.config

  3. Cara Mengenkripsi Prosedur Tersimpan di SQL Server

  4. Kompatibilitas Layanan Integrasi server Sql 2008-2005

  5. Bagaimana Anda mencapai batas 8060 byte per baris dan nilai 8000 per (varchar, nvarchar)?