Sim, claro!
VS2010, C# Windows Forms, SQL Server 2008 R2.
Tenho uma situação onde preciso determinar em um arquivo externo (escolhi um XML), configurações de tamanho de página, campos a serem impressos, etc. - como se fosse uma configuração de impressão de NF (cada empresa tem a sua).
Como não sei (em tempo de projeto) quais campos vou imprimir (pode variar) e nem em que posição na página, não tenho como criar um layout de relatório.
Como também não sei quantos recibos serão impressos (o usuário que escolhe), preciso gerar o dataset dinamicamente, usando "SELECT TOP" e passando a quantidade de registros como parâmetro para uma StoredProcedure
Gerar o dataset em tempo de execução eu já consegui.
Criar e ler o arquivo xml com as configurações, também.
O que não consigo fazer é montar o .rdlc em tempo de execução com base nesse arquivo de configurações;
Também não consigo atualizar o dataset no report.
Conteúdo do xml:
<?xml version="1.0" encoding="utf-8" ?>
<GeneralConfig>
<PaperSize>A4</PaperSize>
<Orientation>Retrato</Orientation>
<TopMargin>1</TopMargin>
<LeftMargin>2</LeftMargin>
<Font>Arial</Font>
<TktsPerPage>3</TktsPerPage>
<TktHeight>9</TktHeight>
<Fields>
<PF>TelRes</PF>
<TM>4</TM>
<LM>4</LM>
<FS>9</FS>
<PF>TelCom</PF>
<TM>5</TM>
<LM>5</LM>
<FS>9</FS>
<PF>TelCel</PF>
<TM>6</TM>
<LM>6</LM>
<FS>10</FS>
<PF>Contribuinte</PF>
<TM>7</TM>
<LM>8</LM>
<FS>8</FS>
<BC>Numero</BC>
<X1>9</X1>
<Y1>3</Y1>
<FSBC>11</FSBC>
<Width>6</Width>
<Height>1</Height>
</Fields>
<!--
Configuracoes especificas de cada campo impresso:
PF - PrintedField: Alias de Campo existente na StoredProcedure SQL [pRecibosPrint]
TM - Top Margin (em cm)
LM - Left Margin (em cm)
FS - Font Size(padrao Windows)
BC - BarCode (Código de Barras padrão EAN13 baseado no campo <Numero> - Como ele vira um PictureBox, determino aqui a posição na folha, largura e altura - converto tudo de cm para Px depois).
-->
</GeneralConfig>