none
Impressão de Fotos no relatorio RRS feed

  • Pergunta

  • Olá Pessoal,


    Meu questionamento é o seguinte. Eu tenho uma funcionalidade em meu sistema que o usuário pode escolher um conjunto de fotos para imprimir. Eu estou utilizando o ReportViewer da Microsoft mesmo. O problema é que o usuário pode escolher quantas fotos ele quer que imprima na página (1,2,4,6,9).

    Pesquisei na internet e percebi que eu posso criar meu rdlc em tempo de execução e assim constriuir meus controles de imagem também. O problema é que eu tenho q ficar definindo o Top, Left, Width, Height para todas as imagens. Como o usuario pode escolher varias opção eu nao estou conseguindo controlar todas as situações possiveis. É mais ou menos o que a impressão do windows faz.

    Alguem teria outra suguestao de como eu poderia fazer isso?!



    Código para criar imagem:

    public class ImageRdlGenerator
    {
       public Rdl.ImageType CreateImage ( string ds,string top, string left, string width, string height)
       {
          Rdl.ImageType imagem = new Rdl.ImageType();
          imagem.Name = ds;
          imagem.Items = new object[]
                    {   
                       "image/jpeg",
                       Rdl.ImageTypeSizing.FitProportional,
                       Rdl.ImageTypeSource.Database,
                      "=First(Fields!foto_bl_foto.Value,\""+ ds + "\")",
                      top,left,width,height, 
                     
                    };
          imagem.ItemsElementName = new Rdl.ItemsChoiceType15[]
                    {
                        Rdl.ItemsChoiceType15.MIMEType,
                        Rdl.ItemsChoiceType15.Sizing,
                        Rdl.ItemsChoiceType15.Source,
                        Rdl.ItemsChoiceType15.Value,
                        Rdl.ItemsChoiceType15.Top,
                        Rdl.ItemsChoiceType15.Left,
                        Rdl.ItemsChoiceType15.Width,
                        Rdl.ItemsChoiceType15.Height
                        
                    };
          return imagem;
       }
    }

    Código para criar a imagem dentro do meu rdlc:

     private Rdl.ReportItemsType CreateReportItems ()
       {
          Rdl.ReportItemsType reportItems = new Rdl.ReportItemsType();
          ImageRdlGenerator imagem = new ImageRdlGenerator(); 
          reportItems.Items = new object[] { imagem.CreateImage("Foto1", "0.75cm", "0.5cm","26.5cm","18.5cm") }; 
          return reportItems;
       }



    obrigado a todos!

    segunda-feira, 3 de novembro de 2008 20:57

Respostas