نمایش نتایج 1 تا 8 از 8

نام تاپیک: تغییر ترتیب محتوای datagridview در هنگام چاپ

  1. #1
    کاربر دائمی
    تاریخ عضویت
    دی 1386
    محل زندگی
    shahrekord
    پست
    279

    تغییر ترتیب محتوای datagridview در هنگام چاپ

    سلام.
    امیدوارم طاعات و عباداتتون مورد قبول درگاه حق قرار گرفته باشه.

    من یک گریدویو دارم که دارم با استفاده از Printdocument چاپش میکنم. ولی مشکل اینجاست که من محتوای سطرهای گریدویو را از هرطرف میخونم و برای چاپ ارسال میکنم در هر صورت به یک شکل ثابت چاپ میشن. منظورم اینه که ترتیب داده های چاپ شده با داده های نمایش داده شده توی گرید دقیقا برعکس هم هستن.!!!

    ترتیب خوندنم از گرید هم برعکس کردم ولی باز هم به همون ترتیب قبل چاپ میشه!!!
    لطف میکنید اگر راهنمایی کنید.


    موفق باشید

  2. #2
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: تغییر ترتیب محتوای datagridview در هنگام چاپ

    شما میتونید با خود کوئری و با Order By جدول برگشتی از دیتا بیس رو مرتب سازی کنید. یا اینکه هنگام مرتب سازی جدول در داخل برنامه بجای اینکه دیتا سورس دیتا گرید رو بفرستی برای چاپ کل دیتا گریدت رو که مرتب هست رو پیمایش کن و بریز داخل دیتا تیبل بعد دیتا تیبل رو بفرست برای چاپ.


    select id,Name,Family
    from tblPerson
    Order By Name ASC|DESC
    آخرین ویرایش به وسیله Mahmoud.Afrad : یک شنبه 28 خرداد 1396 در 10:30 صبح

  3. #3
    کاربر دائمی
    تاریخ عضویت
    دی 1386
    محل زندگی
    shahrekord
    پست
    279

    نقل قول: تغییر ترتیب محتوای datagridview در هنگام چاپ

    دوست عزیز ممنون از پاسخ ولی یا من متوجه جواب شما نشدم یا شما متوجه مشکل من.
    کوئری درسته. نمایش توی گرید ویو درسته. برای چاپ هم خونه به خونه گرید را میخونم و ارسال میکنم برای چاپ. ولی چیزی که چاپ میشه اصن به ترتیب کوئری و گرید و اینا ربطی نداره!!!

    مشکل اینه.

    موفق باشید

  4. #4
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: تغییر ترتیب محتوای datagridview در هنگام چاپ

    میتونید کد و عکس خروجیتونو بزارید؟

  5. #5
    کاربر دائمی
    تاریخ عضویت
    دی 1386
    محل زندگی
    shahrekord
    پست
    279

    نقل قول: تغییر ترتیب محتوای datagridview در هنگام چاپ

    این کد
     //Loop till all the grid rows not get printed
    while (iRow <= dataGridView1.Rows.Count - 1)
    {
    DataGridViewRow GridRow = dataGridView1.Rows[iRow];
    //Set the cell height
    iCellHeight = GridRow.Height + 5;
    int iCount = 0;
    //Check whether the current page settings allows more rows to print
    if (iTopMargin + iCellHeight >= e.MarginBounds.Height + e.MarginBounds.Top)
    {
    bNewPage = true;
    bFirstPage = false;
    bMorePagesToPrint = true;
    break;
    }
    else
    {
    if (bNewPage)
    {
    //Draw Header
    e.Graphics.DrawString(PageHeaderString,
    new Font(dataGridView1.Font, FontStyle.Bold),
    Brushes.Black, e.MarginBounds.Left,
    e.MarginBounds.Top - e.Graphics.MeasureString(PageHeaderString,
    new Font(dataGridView1.Font, FontStyle.Bold),
    e.MarginBounds.Width).Height - 13);

    //////////////////////////Create Date Time for print //////////////////////////////////////////////
    DateTime DateTime_1 = new DateTime();
    System.Globalization.PersianCalendar c = new System.Globalization.PersianCalendar();
    DateTime_1 = DateTime.Now;
    string year, day, month;
    year = c.GetYear(DateTime_1).ToString();
    month = c.GetMonth(DateTime_1).ToString();
    day = c.GetDayOfMonth(DateTime_1).ToString();
    if (day.Length == 1)
    {

    day = day.Insert(0, "0");

    }
    if (month.Length == 1)
    {
    month = month.Insert(0, "0");
    }

    string ShamsiDate = year + "/" + month + "/" + day;
    String strDate = ShamsiDate + " " + DateTime_1.ToString("hh:mm:ss tt");
    ////////////////////////////////////////////////////////////////////////

    //Draw Date
    e.Graphics.DrawString(strDate,
    new Font(dataGridView1.Font, FontStyle.Bold), Brushes.Black,
    e.MarginBounds.Left +
    (e.MarginBounds.Width - e.Graphics.MeasureString(strDate,
    new Font(dataGridView1.Font, FontStyle.Bold),
    e.MarginBounds.Width).Width) ,
    e.MarginBounds.Top - e.Graphics.MeasureString(PageHeaderString,
    new Font(new Font(dataGridView1.Font, FontStyle.Bold),
    FontStyle.Bold), e.MarginBounds.Width).Height - 13);

    //Draw Columns
    iTopMargin = e.MarginBounds.Top;
    foreach (DataGridViewColumn GridCol in dataGridView1.Columns)
    {
    if (GridCol.Displayed)
    {
    e.Graphics.FillRectangle(new SolidBrush(Color.LightGray),
    new Rectangle((int)arrColumnLefts[iCount], iTopMargin,
    (int)arrColumnWidths[iCount], iHeaderHeight));

    e.Graphics.DrawRectangle(Pens.Black,
    new Rectangle((int)arrColumnLefts[iCount], iTopMargin,
    (int)arrColumnWidths[iCount] , iHeaderHeight));

    e.Graphics.DrawString(GridCol.HeaderText,
    GridCol.InheritedStyle.Font,
    new SolidBrush(GridCol.InheritedStyle.ForeColor),
    new RectangleF((int)arrColumnLefts[iCount], iTopMargin,
    (int)arrColumnWidths[iCount] , iHeaderHeight), strFormat);
    iCount++;
    }
    }
    bNewPage = false;
    iTopMargin += iHeaderHeight;
    }
    iCount = 0;
    //Draw Columns Contents
    for (int i = 0; i < dataGridView1.Rows[iRow].Cells.Count; i++)
    {
    if(dataGridView1.Rows[iRow].Cells[i].Displayed)
    {
    if(dataGridView1.Rows[iRow].Cells[i].Value!=null)
    {
    // MessageBox.Show(dataGridView1.Rows[iRow].Cells[i].Value.ToString());

    e.Graphics.DrawString(dataGridView1.Rows[iRow].Cells[i].Value.ToString(),
    dataGridView1.Rows[iRow].Cells[i].InheritedStyle.Font,
    new SolidBrush(dataGridView1.Rows[iRow].Cells[i].InheritedStyle.ForeColor),
    new RectangleF((int)arrColumnLefts[i],
    (float)iTopMargin,
    (int)arrColumnWidths[i] , (float)iCellHeight),
    strFormat);
    }
    //Drawing Cells Borders
    e.Graphics.DrawRectangle(Pens.Black,
    new Rectangle((int)arrColumnLefts[i], iTopMargin,
    (int)arrColumnWidths[i], iCellHeight));

    }
    }

    این گرید
    Untitled1.png
    اینم خروجی پرینت
    Untitled.png

  6. #6
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: تغییر ترتیب محتوای datagridview در هنگام چاپ

    آها شما مشکل راست چین دارید.
    شما پروپرتی RightToLeft مربوط به ریپورت ویور رو بکنید yes درست میشه

  7. #7

    نقل قول: تغییر ترتیب محتوای datagridview در هنگام چاپ

    afi_program
    در همون پست اول باید سوال و مشکل رو کامل بیان کنید نه اینکه بعد از چند پست تازه مشخص بشه مشکل چی هست!

  8. #8
    کاربر دائمی
    تاریخ عضویت
    دی 1386
    محل زندگی
    shahrekord
    پست
    279

    نقل قول: تغییر ترتیب محتوای datagridview در هنگام چاپ

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    afi_program
    در همون پست اول باید سوال و مشکل رو کامل بیان کنید نه اینکه بعد از چند پست تازه مشخص بشه مشکل چی هست!
    در همون پست اول مشکل را کامل توضیح دادم. دوست عزیزمون متوجه نشدن اون اول و البته هنوز هم اشتباه متوجه شدن. به پست من مربوط نمیشه.

    آها شما مشکل راست چین دارید.
    شما پروپرتی RightToLeft مربوط به ریپورت ویور رو بکنید yes درست میشه
    دوست عزیز ممنون از وقتی که میگذارید. ولی من از ریپورت ویور استفاده نکردم. من مطابق کدی که فرستادم. خونه به خونه گرید ویو را میخونم و چاپ میکنم (البته چیزی که فکر میکنم انجام میشه)
    گریدویو هم راست چینش درسته طبق عکسی که ارسال کردم. چیزی که هست الان تازه خودم دقت کردم فقط ستون ردیف همیشه درسته که تنها ستونیه که بعد از خوندن اطلاعات گرید از دیتابیس و پر شدن گرید از روی همون اطلاعات دستی ستون ساخته و پر میشه. اگر تونستید مشکلمو حل کنید و یا راهنمایی کنید خیلی ممنون میشم.

    موفق باشید
    آخرین ویرایش به وسیله afi_program : یک شنبه 28 خرداد 1396 در 12:35 عصر

تاپیک های مشابه

  1. تغییر رنگ متن label در هنگام اجرا
    نوشته شده توسط zahracomputer در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: جمعه 30 تیر 1391, 09:19 صبح
  2. پرش در هنگام چاپ
    نوشته شده توسط RealDream در بخش Access
    پاسخ: 5
    آخرین پست: سه شنبه 12 تیر 1386, 08:35 صبح
  3. تغییر مسیر local host در هنگام نصب یک اسکریپت
    نوشته شده توسط internet در بخش MySQL
    پاسخ: 3
    آخرین پست: جمعه 28 اردیبهشت 1386, 23:59 عصر
  4. مشکل با FastReport 3.15 در هنگام چاپ روی کاغذ
    نوشته شده توسط Mahdi_S_T در بخش ابزارهای گزارش سازی در دلفی
    پاسخ: 4
    آخرین پست: پنج شنبه 27 مرداد 1384, 11:45 صبح
  5. تغییر اندازه یک کنترل در هنگام اجرا
    نوشته شده توسط N_D در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: شنبه 16 اسفند 1382, 12:30 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •