الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب المساعدة في نقل صورة من الفورم مباشرة الى الكريستال ريبورت

بدأه صوت الحقيقه في 18 فبراير 2014 · 8 رد · 1,633 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله و بركاته

أخواني لدي اداة combobox على الفورم و يوجد بجانبها مجموعه من أدوات textbox مع زر من المفترض انه عند الضغط عليه يقوم بنقل جميع محتويات الأدوات الى كريستال ريبورت ،،،، و قد نجح البرنامج في ذلك ما عدا combobox لم اجد طريقه لنقل محتواها

اطلب منكم ألمساعده في ذلك او توجيهي الى موضوع يمكن ان يفي بالغرض مع العلم بان اللغة المستخدمة هي c#

#2

السلام  عليكم

 

السؤوال يختلف عن الموجود بداخله هل تريد عرض صورة  ام نقل ما بداخل كمبوبوكس بالنسبة للثانيه فلا تختلف عن نقل محتويات باقى الادوات

بالنسبه للصورة مرفق مثال كيفيه عرض صورة فى التقرير

PictureInCrystalReport.rar

تم تعديل هذه المشاركة بواسطة SOLO.NET في 18 فبراير 2014 في 04:29

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#3

شرح المثال

قم باضافة Ole Object من Insert

حدد Object Type ليكون PiantBrush Picture

اضف فورملا فيلد لتمرير مسار الصورة

من خصائص Ole Object  افتح Picture Location  ليقراء المسار من الفورملا فيلد

post-55337-0-20768900-1392685590_thumb.j

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#4

اخوي شاكر لك اهتمامك

لكن يبدو ان سؤالي لم يكن واضح بالقدر الكافي و ان ما اقصده هو تمرير الصورة الى الكريستال مباشره

عن طريق الداتا سيت مع العلم بأنها موجودها مسبقا على الفورم بدون استدعاءها بالمسار او استدعاءها من

قاعدة البيانات ،،،،

و بتوضيح اكثر يوجد لدي عدد اثنين فورم يحتوي الأساسي على البيانات و موجود معها صوره و عند الضغط

على الزر يقوم بنقلها وعرضها مباشره على كريستال ريبورت فيور على الفورم الثاني عن طريق داتا سيت

ونجحت جميع البيانات المعرفة string ماعدا الصورة لم استطع نقلها مع باقي البيانات

أتمنى الاستفسار صار واضح وأنا معك بإذن الله تعالى

#5

ضع الكود المستخدم عندك

#6

أشكرك على اهتمامك و اليك كود الفورم الاول بالكامل :

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

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

private void button1_Click(object sender, EventArgs e)
{
Form2 f = new Form2(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text);
f.Show();
}
}
}

 

و اليك كود الفورم الثاني :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication21
{
public partial class Form2 : Form
{
string name, fath, ffth, fam, nation;
public Form2(string a, string b, string c, string d, string e)
{
this.name = a;
this.fath = b;
this.ffth = c;
this.fam = d;
this.nation = e;

InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
DataSet2 ds = new DataSet2();
DataTable t = ds.Tables.Add("Items");
t.Columns.Add("الاسم", Type.GetType("System.String"));
t.Columns.Add("الاب", Type.GetType("System.String"));
t.Columns.Add("الجد", Type.GetType("System.String"));
t.Columns.Add("العائلة", Type.GetType("System.String"));
t.Columns.Add("الجنسية", Type.GetType("System.String"));
DataRow r;
r = t.NewRow();
r["الاسم"] = name;
r["الاب"] = fath;
r["الجد"] = ffth;
r["العائلة"] = fam;
r["الجنسية"] = nation;
t.Rows.Add®;

CrystalReport1 objRpt = new CrystalReport1();
objRpt.SetDataSource(ds.Tables[1]);
crystalReportViewer1.ReportSource = objRpt;
crystalReportViewer1.Refresh();
}
}
}

 

شاكر اهتمامك مجددا و انا معك على اتصال باذن الله 

#7

السلام عليكم

 

ارجو استخدام وسم الكود عند الادراج لسهوله قراءته

 

اذا كنت تستخدم dataset  وبافتراض ان الصورة بداخل picturebox على الفورم

كما باقى الحقول ننسئ عمود  من نوع byte[] 

كالتالي:

الكود التالى بالاضافة الى السابق حيث يتم عرض صورتين احدهما موجودة على الفورم والاخرة من القرص الصلب

 PicReport rpt = new PicReport();
            string path ="'"+ Application.StartupPath + "\\unnamed.jpg"+"'";
            rpt.DataDefinition.FormulaFields["Path"].Text = path;
           
            //this.crystalReportViewer1.ReportSource = rpt;
            //this.crystalReportViewer1.RefreshReport();
            MemoryStream ms = new MemoryStream();
            pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            DataTable table = new DataTable("Img");

            DataColumn column = new DataColumn("Image");
            column.DataType = System.Type.GetType("System.Byte[]");
            column.AllowDBNull = true;
         //

            table.Columns.Add(column);
            DataRow row = table.NewRow();
            row["Image"] = ms.ToArray();
            table.Rows.Add(row);
            DataSet ds = new DataSet();
            ds.Tables.Add(table);
          //  PicReport rpt = new PicReport();
            rpt.SetDataSource(ds.Tables["Img"]);
            this.crystalReportViewer1.ReportSource = rpt;
            this.crystalReportViewer1.RefreshReport();

مرفق المثالPictureInCrystalReport.rar

تم تعديل هذه المشاركة بواسطة SOLO.NET في 19 فبراير 2014 في 01:35

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#8

ماني عارف كيف أشكرك

لكن أنشات مشروع مصغر بيدي أنا و لما اضيف كريستال ريبورت تظهر بها جميع الحقول ما عدا حقل الصورة غير موجود 

و اذا أنشات مشروع جديد بالكريستال يحتوي على حقل الصورة فقد يظهر رسالة تنبيه report not falied 

و الخطأ موجود بالسطر 

 rpt.SetDataSource(ds.Tables["Img"])

 

مع العلم اني اتبعت جميع الخطوات الموجوده في مثالك المرفق 

 

اشكرك مجددا

#9

واذا قدرت ترفق مشروعك السابق باصدار 2010 يكون أفضل و اختصار للجهد لعدم وجود اصدار 2012 عندي

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…