PDA

View Full Version : سوال: چه طوری آدرس یک عکس رو به StimulReport پاس بدم؟



NasimBamdad
یک شنبه 15 اردیبهشت 1392, 10:07 صبح
سلام و خسته نباشید .

یک کنترل Image روی گزارش ساخته شده با StimulReport قرار دادم ، حالا می خوام یک عکس رو از C# انتخاب کنم و آدرسش رو به اون کنترل Image پاس بدم .

و اینکه عکس در گزارش StimulReport به صورت Strech در بیاد .

راهش رو کسی بلده !؟

keyvan_s89
یک شنبه 15 اردیبهشت 1392, 11:18 صبح
یه دونه New Variable بساز از نوع image با اسم مثلا Pic بعد درگ کن و Save

تویه کد نویسی هم

stireport.Dictionary.Variables["pic"].ValueObject = pictureBox1.Image;

NasimBamdad
یک شنبه 15 اردیبهشت 1392, 12:00 عصر
یه دونه New Variable بساز از نوع image با اسم مثلا Pic بعد درگ کن و Save

تویه کد نویسی هم

stireport.Dictionary.Variables["pic"].ValueObject = pictureBox1.Image;

سلام . مرسی دوست عزیز

ببین من الان عکس ها رو در یک فولدر ذخیره کردم و می خوام آدرسش رو بهش بدم . از این کد استفاده کردم


StiReport stiReport1 = new StiReport();
stiReport1.Load("Reports\\Patient_Card.mrt");
stiReport1.Dictionary.Databases.Clear();
stiReport1.Dictionary.Databases.Add(new StiSqlDatabase("Connection", ConfigurationManager.AppSettings["ConnectionString"]));
stiReport1.Dictionary.DataSources["DS1"].Parameters[0].Value = textBox1.Text;
if (File.Exists(Application.StartupPath + "\\Images\\P-IMG\\" + textBox1.Text + "" + ".jpg"))
{
string a = Application.StartupPath + "\\Images\\P-IMG\\" + textBox1.Text + "" + ".jpg";
stiReport1.Dictionary.Variables["pic"].ValueObject = a;
}
else
{
string b = Application.StartupPath + "\\Images\\ico\\N0.png";
stiReport1.Dictionary.Variables["pic"].ValueObject = b;
}
stiReport1.Show();


اما این Error و بهم میده


The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters.

morteza271
دوشنبه 16 اردیبهشت 1392, 09:34 صبح
سلام.
روشی که استفاده کردین تقریبا درسته.

به این صورت من انجام دادم مشکلی نداشت :
1- یه Variable به اسم imgPath تعریف کردم.
2- یه کنترل Image گذاشتم.
3- بر روی کنترل Image دابل کلیک کردم تا صفحه ی جدید باز بشه.
4- در صفحه ی باز شده در قسمت ImageURL اون متغیر imgPath رو به صورت زیر قرار دادم :
{imgPath}
5- بعد هم از سی شارپ به صورت زیر مسیر تصویر رو به متغیر imgPath ارسال کردم به صورت زیر :
string Path = Application.StartupPath + "\\test.jpg";

stiReport1.Dictionary.Variables["imgPath"].Value = Path;

بعد هم که اجرا کردم بدون هیچ مشکلی گزارش باز شد و تصویر هم داخل اون بود.
موفق باشید.

NasimBamdad
دوشنبه 16 اردیبهشت 1392, 14:24 عصر
سلام.
روشی که استفاده کردین تقریبا درسته.

به این صورت من انجام دادم مشکلی نداشت :
1- یه Variable به اسم imgPath تعریف کردم.
2- یه کنترل Image گذاشتم.
3- بر روی کنترل Image دابل کلیک کردم تا صفحه ی جدید باز بشه.
4- در صفحه ی باز شده در قسمت ImageURL اون متغیر imgPath رو به صورت زیر قرار دادم :
{imgPath}
5- بعد هم از سی شارپ به صورت زیر مسیر تصویر رو به متغیر imgPath ارسال کردم به صورت زیر :
string Path = Application.StartupPath + "\\test.jpg";

stiReport1.Dictionary.Variables["imgPath"].Value = Path;

بعد هم که اجرا کردم بدون هیچ مشکلی گزارش باز شد و تصویر هم داخل اون بود.
موفق باشید.



ممنونم مشکل حل شد . اما یک سوال .

عکسی که من دارم سایزش بزرگه و اگه بخوام به اندازه سایزش رو گزارش بیارم همه چیز بهم می خوره . به نظر شما چه کار باید کرد که عکس در ابعاد اون کنترل IMAGE کوچیک بشه ؟ کلا Stretch بشه

آیا امکانش هست !؟

morteza271
پنج شنبه 19 اردیبهشت 1392, 09:30 صبح
کنترل Image توی استیمول یه پراپرتی داره به اسم Stretch اونو true کن درست میشه.