c# - imagenes - Cómo mostrar la imagen en blanco en el informe de Crystal
crystal report cargar imagen desde ruta (1)
Por debajo del procedimiento estoy mostrando la imagen en Crystal Report
Primero: Creé una Nueva Columna ("Imagen") en una tabla de datos del conjunto de datos y cambio el Tipo de Datos a System.Byte ()
Segundo: Arrastrar y soltar esta imagen presentada donde quiero.
private void LoadReport()
{
frmCheckWeigher rpt = new frmCheckWeigher();
CryRe_DailyBatch report = new CryRe_DailyBatch();
DataSet1TableAdapters.DataTable_DailyBatch1TableAdapter ta = new CheckWeigherReportViewer.DataSet1TableAdapters.DataTable_DailyBatch1TableAdapter();
DataSet1.DataTable_DailyBatch1DataTable table = ta.GetData(clsLogs.strStartDate_rpt, clsLogs.strBatchno_Rpt, clsLogs.cmdeviceid); // Data from Database
DataTable dt = GetImageRow(table, "Footer.Jpg");
report.SetDataSource(dt);
crv1.ReportSource = report;
crv1.Refresh();
}
// Mediante esta función, fusiono los datos de Mi imagen en dataTable
private DataTable GetImageRow(DataTable dt, string ImageName)
{
try
{
FileStream fs;
BinaryReader br;
if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + ImageName))
{
fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + ImageName, FileMode.Open);
}
else
{
// if photo does not exist show the Blank Space or Show Nothing
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["Image"] = DBNull.Value ;
}
return dt;
}
// initialise the binary reader from file streamobject
br = new BinaryReader(fs);
// define the byte array of filelength
byte[] imgbyte = new byte[fs.Length + 1];
// read the bytes from the binary reader
imgbyte = br.ReadBytes(Convert.ToInt32((fs.Length)));
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["Image"] = imgbyte;
}
br.Close();
// close the binary reader
fs.Close();
// close the file stream
}
catch (Exception ex)
{
// error handling
MessageBox.Show("Missing " + ImageName + " in application folder");
}
return dt;
// Return Datatable After Image Row Insertion
}
Esto funciona Perfectamente cuando tengo Imagen en la ruta, pero quiero Mostrar Espacio vacío en blanco cuando el usuario No da imagen en Especificar ruta, pero obtengo un cuadrado en blanco según la imagen dada con el borde de cómo eliminarlo, por favor, ayúdenme ...
Use la función de supresión del informe en sí mismo,
Haga clic derecho en el objeto imagen >> formatee el objeto >> Llene la casilla de verificación cerca de la palabra suprimir, luego haga clic en la fórmula a la derecha de suprimir y luego agregue la fórmula que necesita algo como:
ISNULL({Class;1.Img})