Esconder colunas em GridViews para impressão

2008-08-06

Uma questão comum que surge com GridViews é ter a possibilidade de mostrar ou esconder colunas aquando da impressão. Uma forma simples de resolver a questão é utilizar uma stylesheet de impressão, aplicada sempre que o browser recebe o comando de impressão e que inclui uma classe do género:

Todos os elementos que tiverem esta classe atribuída poderão ser visíveis no ecrã, mas na impressão desaparecerão.

No caso da GridView, se tivermos uma coluna (TemplateField) com botões, por exemplo, e não quisermos que os botões sejam visíveis, basta no TemplateField definir HeaderStyle-CssClass e ItemStyle-CssClass con a classe “noprint”

Só definir o ItemStyle-CssClass elimina os botões, mas preserva a coluna. Atribuindo a classe a ambos esconde a coluna. Se houver um Footer, será necessário efectuar o mesmo para o FooterStyle-CssClass.