How do I best display CheckBoxes in SQL Server Reporting Services?

What I have used to display a check box (or ballot box):
1- create textbox (that will become your check box)
2- change font to Arial Unicode MS
3- in the expression window use:
ChrW(&H2611) for a filled-in checkbox
ChrW(&H2610) for an empty checkbox


I, along with others in my shop, have used images, toggling the hidden attribute based on the field value (true or false). We haven't had any problems with blurring or scaling, unless we tried to increase the scale of the image beyond 100% obviously.

Another option I've used is similar to the wingdings idea, but I just use a plain old "X". On our forms at least, it is not uncommon for someone to use an X in a box instead of a check mark, so it looks completely acceptable. Plus, you don't have to worry about strange characters when printing.

As for why Microsoft does not include a checkbox control, I can't answer that as I've been wondering the same thing myself for a long time now.


I just wanna share the idea on this blog. SSRS: How to Display Checkbox on Report

  1. First create a textbox
  2. Then change the font family to Wingdings
  3. Insert an expression on the textbox and write this expressions.

    =IIF(Fields!Active.Value,chr(254),"o")
    

    Fields!Active.Value could be anything from your query that should return a boolean value 1 or 0.

  4. Then click Preview and see the checkbox ;)

More styles can be selected on the blog that I shared above.

Here is an example of my output enter image description here


Besides the different methods already presented, as of SQL Server 2008 R2 there's a built-in control that can be used for checkbox-alike functionality: the Indicator!

Have a look here for details on how to use it: https://web.archive.org/web/20190916105459/http://blog.hoegaerden.be/2012/08/04/displaying-checkboxes-in-an-ssrs-report/

To be able to use a field of type bit, you'll have to cast it to int first. This can be done either in the dataset query or by adding a calculated field to the dataset.

If you want the NULLs to come up as yellow, then you'll need to build the expression that way so it takes that requirement into account as well.

Here's a possible expression for a calculated field:

=Switch(
    IsNothing(Fields!YourBoolean.Value), 50,
    Fields!YourBoolean.Value = False, 0,
    Fields!YourBoolean.Value = True, 100)

Depending on the meaning of your fields - is False good or bad - you may need to swap the zero and 100.