Ciao a tutti,
ho un report fatto con Crystal Report e vorrei convertirlo/rifarlo in rdlc
Via codice popolavo un file di access che poi andavo a leggere nel report.
Posto un po di codice
this.WindowState = FormWindowState.Maximized;
RdoReport repRdo = new RdoReport();
crystalReportViewer1.Visible = true;
//Recupero i dati
DataSet ds = RefreshDataSetRdo(0, ds1);
string absolutePath = this.CreateAbsolutePath("RdoReport", false);
//cambiare credenziali
DataTableToAccess convert = new DataTableToAccess();
convert.CreateAccess(GetMdbPath(absolutePath));
convert.ResetElements();
convert.AccessTable = ds.Tables["Bid"];
convert.InsertElement("BidOwnId", ADOX.DataTypeEnum.adInteger);
convert.InsertElement("BidGroId", ADOX.DataTypeEnum.adInteger);
convert.InsertElement("RevOwnId", ADOX.DataTypeEnum.adInteger);
convert.InsertElement("RevDes", ADOX.DataTypeEnum.adLongVarWChar, 1000);
convert.InsertElement("GroDes", ADOX.DataTypeEnum.adVarWChar, 100);
convert.InsertElement("CusDes", ADOX.DataTypeEnum.adVarWChar, 50);
convert.InsertElement("CusOwnId", ADOX.DataTypeEnum.adInteger);
convert.ExportTable();
convert.Close();
//Versione
repRdo.DataDefinition.FormulaFields["version"].Text = "'" + ver + "'";
ConnectionInfo c = new ConnectionInfo();
c.ServerName = this.GetMdbPath(absolutePath);
c.DatabaseName = this.GetMdbPath(absolutePath);
// Applica le informazioni di connessione a tutte le tabelle del report.
for (int i = 0; i < repRdo.Database.Tables.Count; i++)
{
// Recupera le informazioni di LogOn della tabella...
TableLogOnInfo LogOnInfo = repRdo.Database.Tables[i].LogOnInfo;
// ...assegna le nuove informazioni...
LogOnInfo.ConnectionInfo = c;
// Applica le modifiche alla tabella.
repRdo.Database.Tables[i].ApplyLogOnInfo(LogOnInfo);
}
this.crystalReportViewer1.ReportSource = repRdo;
E' possibile fare una cosa simile?
Inoltre avevo provato a collegarmi dal nuovo report a un db di access e al salvataggio mi ha creato un file app.config
e un .xsd con la tabella..
Si può evitare questa cosa?
Grazie
Ste