Изображение не будет отображаться в отчетах Crystal - PullRequest
1 голос
/ 22 марта 2012

Интересно, как можно отобразить изображения в столбце «DVDImage».Отчет работает отлично, просто изображение не появится.Нужно ли преобразовывать изображение в байты?Как я могу поместить его в список после преобразования в байтах?

Вот мой код:

        public void PrintDVDList(frmReportDVDList frmReportDVDList)
        {
            con.Open();

            DataTable dt = new DataTable();
            DataSet ds = new DataSet();
            ds.Tables.Add(dt);
            OleDbDataAdapter da = new OleDbDataAdapter("SELECT ItemCode, Title, Genre, Film, YearReleased, Classification, NumberOfDiscs, DVDImage FROM tblDVDInventory ORDER BY Title", con);
            da.Fill(dt);

            ListView LV = new ListView();

            if (dt.Rows.Count > 0)
            {
                for (int ctr = 0; ctr <= dt.Rows.Count - 1; ctr++)
                {
                    ListViewItem Item = new ListViewItem();
                    Item.Text = dt.Rows[ctr]["ItemCode"].ToString();
                    Item.SubItems.Add(dt.Rows[ctr]["Title"].ToString());
                    Item.SubItems.Add(dt.Rows[ctr]["Genre"].ToString());
                    Item.SubItems.Add(dt.Rows[ctr]["Film"].ToString());
                    Item.SubItems.Add(dt.Rows[ctr]["YearReleased"].ToString());
                    Item.SubItems.Add(dt.Rows[ctr]["Classification"].ToString());
                    Item.SubItems.Add(dt.Rows[ctr]["NumberOfDiscs"].ToString());
                    Item.SubItems.Add(dt.Rows[ctr]["DVDImage"].ToString());
                    LV.Items.Add(Item);
                }
            }

            con.Close();

            rptDVDList Report = new rptDVDList();

            Report.SetDataSource(ds.Tables[0]);
            frmReportDVDList.crvDVDList.ReportSource = Report;
            frmReportDVDList.crvDVDList.Refresh();
        }

1 Ответ

0 голосов
/ 22 марта 2012

Это пример кода, который я обычно предлагаю посмотреть при запуске Crystal Reports в C #:

using System;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            ReportDocument cryRpt = new ReportDocument();
            TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
            TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
            ConnectionInfo crConnectionInfo = new ConnectionInfo();
            Tables CrTables ;

            cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt");

            crConnectionInfo.ServerName = "YOUR SERVER NAME";
            crConnectionInfo.DatabaseName = "YOUR DATABASE NAME";
            crConnectionInfo.UserID = "YOUR DATABASE USERNAME";
            crConnectionInfo.Password = "YOUR DATABASE PASSWORD";

            CrTables = cryRpt.Database.Tables ;
            foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
            {
                crtableLogoninfo = CrTable.LogOnInfo;
                crtableLogoninfo.ConnectionInfo = crConnectionInfo;
                CrTable.ApplyLogOnInfo(crtableLogoninfo);
            }

            crystalReportViewer1.ReportSource = cryRpt;
            crystalReportViewer1.Refresh(); 
        }
    }
}

От: http://csharp.net -informations.com / crystal-reports / csharp-crystal-reports-dynamic-login.htm

Передав информацию о соединении в коде, вы увидите, что пользователю не будет предложено.Нет необходимости использовать промежуточный набор данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...