Cómo vincular el informe de cristal al DataSet creado manualmente

Quiero crear un DataSet del código y configurarlo como fuente de datos para el informe de Crystal.
No quiero crear un archivo DataSet xsd en VS si no es necesario. Solo código puro.

DataSet ds = new DataSet(); DataTable tbl = new DataTable(); DataColumn cln = new DataColumn(); // I fill row, columns, table and add it to ds object ... 

Luego, cuando necesito informar, uso:

 myReport.SetDataSource(ds); 

El problema aquí es que no sé cómo vincular esto para informar? Cómo agregar campos?
Tengo un texto y datos binarios (imagen).

Solo hay salida. Como lo sugiere el rosado. Poco explicado 1. CReate un RPT File. 2. Crea un XSD con las columnas deseadas. 3. Arrastra soltar las columnas en el rpt. Formatealo según sea necesario. 4. Ahora crea una conexión, usa el adaptador para completar ese conjunto de datos. 5. El llenado del conjunto de datos rellenará automáticamente las columnas del informe.

A continuación se muestra un código de muestra de uno de los proyectos de la mina.

 Invoice invoice = new Invoice(); // instance of my rpt file var ds = new DsBilling(); // DsBilling is mine XSD var table2 = ds.Vendor; var adapter2 = new VendorTableAdapter(); adapter2.Fill(table2); var table = ds.Bill; var adapter = new BillTableAdapter(); string name = cboCustReport.Text; int month = int.Parse(cboRptFromMonth.SelectedItem.ToString()); int year = int.Parse(cboReportFromYear.SelectedItem.ToString()); adapter.Fill(table, name,month,year); ds.AcceptChanges(); invoice.SetDataSource(ds); crystalReportViewer1.ReportSource = invoice; crystalReportViewer1.RefreshReport(); 

intenta así …

 DataSet ds = new DataSet(); oleAdapter.Fill(ds); ReportDocument rpt = new ReportDocument(); rpt.load(); rpt.Database.Tables[0].SetDataSource(ds.Tables[0]); this.crystalReportViewer1.ReportSource = rpt; 

Agregue un objeto de conjunto de datos (.xsd) en Visual Studio y llénelo con una o varias tablas de datos que contengan los MISMOS nombres de campo que obtuvo en su DataSet ds = new DataSet();

A continuación, vaya a su archivo .rpt: campos de base de datos -> experto en bases de datos -> datos del proyecto -> ADO.Net DataSets, luego seleccione el conjunto de datos que acaba de crear y diseñe el informe como desee.

Use el informe como de costumbre.

 myReport.SetDataSource(ds); 
 // Use dummy image data column namely Photo, to store file system Images into data base table GlobalVar.sql = " SELECT rollno AS reg_no, CAST(0xADB AS image) As Photo FROM mast_roll Where Rollno IN ('120512','120518') "; GlobalVar.da = new OleDbDataAdapter(GlobalVar.sql, GlobalVar.con); GlobalVar.ds = new DataSet(); GlobalVar.da.Fill(GlobalVar.ds, "st_detail"); // load photo into data table foreach (DataRow dr in GlobalVar.ds.Tables["st_detail"].Rows) { // complete path of photo file imgPath = @"D:\ImageSt\" + dr["reg_no"].ToString() + ".jpg"; // read photo from file FsImage = Image.FromFile(imgPath); // convert image file to array byte[] PhotoArr; using (MemoryStream ms = new MemoryStream()) { FsImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); PhotoArr = ms.ToArray(); } // update photo dr["photo"] = PhotoArr; // end array conversion } // end loading