اذهب إلى المحتوى

السؤال

نشر (معدل)

مرحبا إخوتي ..
لدي جدول يحتوي حقل التاريخ .. التاريخ فقط بدون ساعة .. نوعه date
عندما أقوم بنقل التاريخ إلى تقرير كريستال ريبورت بواسطة dataset عبر جملة sql .. يظهر في التقرير تاريخ وساعة مضبوطة على 12 صباحا .. علما بأن التاريخ في الحقل في sql server تاريخ فقط بدون ساعة ..
اريد إظهاره في التقرير بدون ساعة .. 

string sql = "select *from items";

            DataSet ds = new DataSet();
            SqlDataAdapter adp = new SqlDataAdapter(sql, Class1.con);
            adp.Fill(ds);
            DataTable dt;
            dt = ds.Tables[0];
            if(dt.Rows.Count==0)
            {
                MessageBox.Show("لايوجد بيانات لعرضها في التقرير");
                return;
            }
            else
            {
                CrystalReport3 rept = new CrystalReport3();
                rept.SetDataSource(dt);
                printpreview frm = new printpreview();
                frm.crystalReportViewer1.ReportSource = rept;
                frm.ShowDialog();
            }

1.png

تم التعديل في بواسطة ايمن ميلاد

Recommended Posts

  • 0
نشر

يرجى أولا تغير تنسيق الحقل الخاص بالتاريخ ليقوم بعرض التاريخ فقط وليس الوقت .

  1. افتح التقرير في Crystal Reports.
  2. قم بتحديد الحقل الذي يحتوي على التاريخ.
  3. من خصائص الحقل (Field Explorer) قم بالضغط على الحقل الذي يحتوي على التاريخ.
  4. اختر الخيار "Format Field".
  5. في نافذة التنسيق، اختر "Date and Time" ثم قم باختيار التنسيق الذي يعرض التاريخ فقط (مثل MM/dd/yyyy أو yyyy-MM-dd) أو أى تنسيق أخر تريده.

قم بحفظ التغيرات وقم بالتجربة مرة أخرى .

  • 0
نشر
بتاريخ 12 دقائق مضت قال ايمن ميلاد:

لايظهر 

إذا المشكلة هنا هذا الحقل ليس حقل تاريخ (Date) بل هو حقل نصي عادي (string) يرجى محاولة تغيره إلى حقل Date .

أو يمكنك محاولة تحويل التاريخ في الكود ليتم عرضه كما تريد كالتالي :

foreach (DataRow row in dt.Rows)
{
    row["formatted_date"] = ((DateTime)row["formatted_date"]).ToString("yyyy-MM-dd");
}

يجب عليك وضع الكود السابق قبل إرسال البيانات إلى SetDataSource ومع التأكد من تغير formatted_date إلى إسم الحقل الذي لديك في قاعدة البيانات.

  • 0
نشر

لازالت نفس مشكلة 

string sql = "select *from items";

            DataSet ds = new DataSet();
            SqlDataAdapter adp = new SqlDataAdapter(sql, Class1.con);
            adp.Fill(ds);
            DataTable dt;
            dt = ds.Tables[0];
            if(dt.Rows.Count==0)
            {
                MessageBox.Show("لايوجد بيانات لعرضها في التقرير");
                return;
            }
            else
            {
                CrystalReport3 rept = new CrystalReport3();
                foreach(DataRow row in dt.Rows)
                {
                    row["ExpiryDate"] = ((DateTime)row["ExpiryDate"]).ToString("yyyy-MM-dd");
                }
                rept.SetDataSource(dt);
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "PDF Files|*.pdf";
                saveFileDialog.Title = "حفظ التقرير كملف PDF";

                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    // حفظ التقرير كملف PDF
                    string exportPath = saveFileDialog.FileName;
                    ExportToPDF(rept, exportPath);
                }
                printpreview frm = new printpreview();
                frm.crystalReportViewer1.ReportSource = rept;
                frm.ShowDialog();

 

لقطة شاشة 2024-12-13 174001.png

حقل من نوع date  في قاعدة بيانات sql

  • 0
نشر
بتاريخ 2 ساعة قال ايمن ميلاد:

لازالت نفس مشكلة 

string sql = "select *from items";

            DataSet ds = new DataSet();
            SqlDataAdapter adp = new SqlDataAdapter(sql, Class1.con);
            adp.Fill(ds);
            DataTable dt;
            dt = ds.Tables[0];
            if(dt.Rows.Count==0)
            {
                MessageBox.Show("لايوجد بيانات لعرضها في التقرير");
                return;
            }
            else
            {
                CrystalReport3 rept = new CrystalReport3();
                foreach(DataRow row in dt.Rows)
                {
                    row["ExpiryDate"] = ((DateTime)row["ExpiryDate"]).ToString("yyyy-MM-dd");
                }
                rept.SetDataSource(dt);
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "PDF Files|*.pdf";
                saveFileDialog.Title = "حفظ التقرير كملف PDF";

                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    // حفظ التقرير كملف PDF
                    string exportPath = saveFileDialog.FileName;
                    ExportToPDF(rept, exportPath);
                }
                printpreview frm = new printpreview();
                frm.crystalReportViewer1.ReportSource = rept;
                frm.ShowDialog();

حقل من نوع date  في قاعدة بيانات sql

قم بتعديل استعلام SQL الخاص بك لتنسيق حقل التاريخ بحيث يعرض التاريخ فقط بدون الوقت على سبيل المثال، يمكنك استخدام وظيفة CONVERT() في SQL لتحويل حقل "date" إلى "varchar" وتنسيقه كما تريد:

SELECT CONVERT(VARCHAR(10), [date_field], 120) AS [formatted_date], ...
FROM items

هذا سيعيد حقل التاريخ بتنسيق "YYYY-MM-DD"، والذي من المفترض أن يتم عرضه بشكل صحيح في تقرير Crystal Reports.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...