2009-01-07 5 views

Répondre

1

Supposons que vous ayez votre image dans un objet Bitmap, enregistrer sur MemoryStream au format Bitmap,
Créer une DataSource, créez DataTable avec 1 DataColumn avec le type de tableau d'octets

MemoryStream ms; //contains saved bitmap~!!! 
DataTable dt = new DataTable(); 
dt.Columns.Add(new DataColumn("img", typeof(Byte[]))); 
DataRow row = dt.NewRow(); 
row["img"] = ms.ToArray(); 

ont également le rapport (ou sous-état de votre rapport) lié à DataSource avec le schéma ci-dessus insert objet image lié à la colonne « img » signaler

+0

merci pour cela. row ["img"] = ms.ToArray(); aidé aidé à corriger mes codes. :) – AceMark

2

vous pouvez ajouter cRAXDRT.DLL et CrystalDecisions.Shared.dll à vos références alors vous pouvez utiliser ce code:

   CRAXDRT.Report report2 = new CRAXDRT.Report(); 
       CRAXDRT.Application app2 = new CRAXDRT.Application(); 
       report2 = app2.OpenReport("YourReportName.rpt", OpenReportMethod.OpenReportByDefault); 
       for (int i = 1; i < report2.Sections.Count + 1; i++) 
       { 
        for (int j = 1; j < report2.Sections[i].ReportObjects.Count + 1; j++) 
        { 
         try 
         { 
          CRAXDRT.OleObject to2 = (CRAXDRT.OleObject)report2.Sections[i].ReportObjects[j]; 
          CRAXDRT.OleObject to3 = report2.Sections[i].AddPictureObject("NewOleName.bmp", to2.Left, to2.Top); 
          to3.Height = to2.Height; 
          to3.Width = to2.Width; 
          report2.Sections[i].DeleteObject(to2); 
         } 
         catch (Exception) { } 
        } 
       } 
Questions connexes