1. Use reuniões de visualização para integrar várias associações de tabelas
2. Filtre dados por meio de instruções SQL
3. Estabeleça uma associação com a tabela mestre-escravo
4. Observe que ao inserir um sub-relatório na tabela CrystalReport1, certifique-se de adicionar os campos associados de a tabela mestre-escravo Configure-a, caso contrário ocorrerão problemas
O código principal é o seguinte:
/// <summary>.
/// Vincular CrystalReport
/// </sumário>
/// <param name="strS">sql</param>
privado void bdReport(string strS)
{
oCR = novo CrystalReport1();
SqlConnection cnn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionSqlServer"]);
SqlDataAdapter cmd1 = new SqlDataAdapter(strS,cnn);
//Criar e preencher o DataSet2
ds = new DataSet2();
cmd1.Fill(ds,"meeting");
// SqlDataAdapter cmd2 = new SqlDataAdapter("select * from realplan where rplanid in (selecione os 10000 principais planid de ("+sqlStr+")como um pedido por planid)", cnn);
SqlDataAdapter cmd2 = novo SqlDataAdapter(SqlIsOper, cnn);
cmd2.Fill(ds,"realplan");
//Cria a relação entre as tabelas Autores e Títulos.
ds.Relations.Add("mo",
ds.Tables["reunião"].Colunas["planid"],
ds.Tables["realplan"].Columns["rplanid"]);
//ligação reportViewer
oCR.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource = oCR
;
cnn.Fechar();
}