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

نام تاپیک: چاپ datagridview بصورت راست به چپ واقعی!

  1. #1

    چاپ datagridview بصورت راست به چپ واقعی!

    سلام
    من دو روزه دارم دنبال یه روش می گردم که datagrdivew رو بصورت راست به چپ چاپ کنم، (یعنی متن داخل خونه های دیتاگریدویو RTL باشه، نه اینکه فقط ترتیب چینش ستون ها از راست به چه باشه) ولی به نتیجه نرسیدم.
    جستجوهای فارسی همشون به این ختم می شن که اینکارو نمی کنه:
    http://www.barnamenevis.org/sh...d.php?p=317148
    و انگلیسی ها هم که کلا LTR هستن.

    کسی می دونه اصلا همچین چیزی امکان داره؟ (چه تو .NET 2.0 و چه تو NET 3.0)
    و اگه آره، ممنون میشم یه راهنمایی حتی در حد یه اشاره داشته باشید. ممنون

  2. #2

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    در قسمت properties گریدویو گزینه DefaultCellStyle رو انتخاب کن و در زیر صفحه گزینه Aligment رو می بینی . و دقیقا همون کاری رو می کنه که توی می خوای . در این حالت چینش ستونها از چپ به راسته ولی متن از راست به چپه ، اگه می خوای چینش ستونها هم عوض بشه کد زیر :
    this.dataGridView1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;

    فکر کنم منظورت همین بود . اگه نیست فایل پروژت یا تکه کدش رو بذار .

  3. #3

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    آقا شروین مشکل منم همینه
    فایلی که ضممه کردم ببین
    نظرتو بگو
    فایل های ضمیمه فایل های ضمیمه

  4. #4

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    کسی نیست جواب بده؟

  5. #5

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    با سلام خدمت دوستان

    من این کلاس رو که در اینجا آپلود کردم از اینترنت گیر آوردم و با کمی تغییرات اونه به یک کلاس کاملا راست به چپ تبدیل کردم و امیدوارم که به درد دوستان بخوره و مشکلشونو حل کنه

    این لینک اصلی مقاله

    http://www.codeproject.com/KB/printing/DGVPrinter.aspx

    این هم کلاسی که خودم تغییرش دادم

    http://rapidshare.com/files/23531441...inter.rar.html

  6. #6

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    نقل قول نوشته شده توسط rezatati مشاهده تاپیک
    با سلام خدمت دوستان

    من این کلاس رو که در اینجا آپلود کردم از اینترنت گیر آوردم و با کمی تغییرات اونه به یک کلاس کاملا راست به چپ تبدیل کردم و امیدوارم که به درد دوستان بخوره و مشکلشونو حل کنه

    این لینک اصلی مقاله

    http://www.codeproject.com/KB/printing/DGVPrinter.aspx

    این هم کلاسی که خودم تغییرش دادم

    http://rapidshare.com/files/23531441...inter.rar.html
    آقا لینک دوم مشکل داره!!

  7. #7
    کاربر دائمی آواتار moferferi
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    40
    پست
    788

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    اقا لطف کن توی 2shared یا 4shared اپلود کن.لینک خرابه

  8. #8
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    کسی نیست این تاپیک رو کامل کنه ؟؟؟
    چند روزه مشکل من هم همینه . هرکاری میکنم حل نمیشه . هیچ جا هم براش جواب درستی پیدا نکردم.
    ممنون میشم دوستان لطف کنن تاپیک رو به جواب برسونن

  9. #9
    کاربر دائمی آواتار Esmail Solhkhah
    تاریخ عضویت
    مهر 1385
    محل زندگی
    بورکینافاسو
    پست
    1,774

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    نقل قول نوشته شده توسط mehdiizadi مشاهده تاپیک
    کسی نیست این تاپیک رو کامل کنه ؟؟؟
    چند روزه مشکل من هم همینه . هرکاری میکنم حل نمیشه . هیچ جا هم براش جواب درستی پیدا نکردم.
    ممنون میشم دوستان لطف کنن تاپیک رو به جواب برسونن
    دوست عزیز خود بنده حداقل دوتا پرینت از گرید ویو گذاشتم با این قابلیت ، یکیش با PrintDGV - یکیش با استیمول
    تو قسمت نمونه برنامه های کوچک و مفيد در سي شارپ ، زحمت پیدا کردن شماره پست با خودتون

    موفق باشید.

  10. #10
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    آقای Esmail Solhkhah من تمام 23 صفحه ی بخش برنامه های کوچک و مفید رو گشتم
    چند تا تاپیک واسه پرینت بود ولی هرچی نگاه کردم اون چیزی نبود که میخواستم . یکی PrintDGV بود که واسه VB بود.
    چند هفته است فقط الاف همین کار هستم . این مشکلم حل بشه کل پروژه ام تموم میشه و اماده استفاده.
    دیتابیس من Access است و از ado استفاده شده.

  11. #11
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    سلام اونطوری که من فهمیدم شما علاوه بر راست چین شدن ستون ها میخواید محتویات سلول ها هم جابجا بشه، برای اینکار توی قسمت پراپرتیز مربوط به دیتاگریدویو توی گزینه RowsDefaultCellStyle خاصیت Alignment رو تغییر بدید

  12. #12
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    دیتاگریدویو من در فرم ام به این شکل است:


    اما وقتی که میخوام پرینت بگیرم به این شکل ظاهر میشه:


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

  13. #13
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    یه نگاه به این بندازید:
    dgwPrint(RTL).jpg

    dgwPrint(RTL).zip

  14. #14
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    عـــالــــــیــــــــــــ ـــــــــــه . واقــعـــــــــــا مــــــــــــرســــــــــ ـــــــــــی
    آخرین سوال در همین مورد . این کد میاد از تمام Columns ها پرینت میگیره.
    چطور میشه براش تعیین کرد که مثلا از:
    dataGridView1.Columns[1]
    dataGridView1.Columns[4]
    dataGridView1.Columns[5]
    dataGridView1.Columns[11]
    dataGridView1.Columns[17]
    dataGridView1.Columns[19]
    پرینت بگیره . چون جدول dataGridView ای که استفاده میکنم خیلی بزرگه فقط میخوام اطلاعات اصلی که نیاز به چاپ دارن چاپ بشن.

  15. #15
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    توی حلقه میتونید دستور سویچ بزارید:
    for (int j = this.dataGridView1.Columns.Count - 1; j > -1; j--)
    {
    switch (j)
    {
    case 1:
    case 4:
    case 5:
    case 11:
    case 17:
    case 19:
    ....
    break;
    }
    }

  16. #16
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    داره جواب نمیده.
    نمیشه با گذاشتن یک Checkbox و check گذاشتن برای اون قبل از پرینت به این صورت:

    if (checkBox1.Checked == true)
    {
    dataGridView1.Columns[0].Visible = false;
    dataGridView1.Columns[1].Visible = false;
    dataGridView1.Columns[5].Visible = false;
    dataGridView1.Columns[13].Visible = false;
    dataGridView1.Columns[14].Visible = false;
    dataGridView1.Columns[15].Visible = false;
    dataGridView1.Columns[16].Visible = false;
    dataGridView1.Columns[18].Visible = false;
    dataGridView1.Columns[20].Visible = false;
    dataGridView1.Columns[21].Visible = false;
    dataGridView1.Columns[22].Visible = false;
    dataGridView1.Columns[23].Visible = false;
    dataGridView1.Columns[24].Visible = false;
    dataGridView1.Columns[25].Visible = false;
    dataGridView1.Columns[26].Visible = false;
    dataGridView1.Columns[27].Visible = false;
    dataGridView1.Columns[29].Visible = false;
    dataGridView1.Columns[30].Visible = false;
    dataGridView1.Columns[31].Visible = false;
    }

    Columns های اضافی رو از توی DGV حذف کرد و پرینت رو انجام داد ؟
    این کارو کردم با همین کدی که شما دادید جواب نداد . با یک روش دیگه جواب میداد ولی مشکلش همین بود که راست به چپ پرینت نمیکرد.

  17. #17
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    ببخشید نفهمیدم الان مشکل کجاست؟ حل نشد؟!
    توجه کنید کد آخری که دادم 2 جا مشابه همین وجود داره و باید برای هر دوتا این شرط رو بذارید

  18. #18
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

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

  19. #19
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    این برای پرینت بعضی از ستون ها هست، امیدوارم مشکل حل شه
    dgwPrint(spcfcClmns).zip

  20. #20
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    مــرسی آقای پدارم.
    مشکلم کامل کامل رفع شد .
    همه چیزش کامله فقط اگه موقع پرینت یک سر تیتر مثل عکس زیر در بالای جدل میومد و جدول در وسط برگه بود کاملا بدون نقص بود.

    مرسی بخاطر کمک هاتون

  21. #21
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    حقیقت خواستم خودم این دو تا عیبش رو برطرف کنم که باز مزاحم نشم ولی از عصر تا الان ( ساعت 3:51 صبح ) درگیرش هستم و
    نتونستم اون دو تا مشکل بالا که گفتم رو بر طرف کنم.اگه ممکنه زحمت این رو هم بکشید تا راحت بشم از دست این پرینت

  22. #22
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    دوستان کسی نیست این مشکل رو هم حل کنه ؟

  23. #23
    کاربر دائمی آواتار pedram.11
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    پشت کامپیوتر
    پست
    394

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    سلام خسته نباشید
    توی رویداد pdoc_PrintPage دستورات رو به اینصورت تغیید بدید:
            void pdoc_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
    string Header = "بانک اطلاعات اشخاص";
    int FontSize = 20;
    int StartX = 0, x = 0
    , y = 50;
    for (int i = this.dataGridView1.Columns.Count - 1; i > -1; i--)
    switch (i)
    {
    case 1:
    case 2:
    StartX += this.dataGridView1.Columns[i].Width;
    break;
    }
    StartX = e.PageBounds.Width / 2 - StartX / 2;
    x = StartX;
    System.Drawing.Font HeaderFont =new System.Drawing.Font("Arial", FontSize, FontStyle.Bold,GraphicsUnit.Point);
    SizeF Headersize = e.Graphics.MeasureString(Header, HeaderFont);
    e.Graphics.DrawString(Header,
    HeaderFont, Brushes.Black, new PointF(e.PageBounds.Width / 2 - (Headersize.Width / 2), y));
    y += (int)Headersize.Height + 1;
    for (int j = this.dataGridView1.Columns.Count - 1; j > -1; j--)
    {
    switch (j)
    {
    case 1:
    case 2:
    Rectangle rect = new Rectangle(x, y,
    this.dataGridView1.Columns[j].Width,
    this.dataGridView1.ColumnHeadersHeight);
    StringFormat sf = new StringFormat();
    sf.LineAlignment = StringAlignment.Center;
    sf.Alignment = StringAlignment.Center;
    e.Graphics.FillRectangle(Brushes.LightGray, rect);
    e.Graphics.DrawRectangle(Pens.Black, rect);
    if (this.dataGridView1.Columns[j].HeaderText != null)
    {
    e.Graphics.DrawString(this.dataGridView1.Columns[j].HeaderText,
    SystemFonts.DefaultFont, Brushes.Black, rect, sf);
    }

    x += rect.Width;
    break;
    }
    }
    x = StartX;
    y += this.dataGridView1.ColumnHeadersHeight;
    foreach (DataGridViewRow row in this.dataGridView1.Rows)
    {
    if (row.Cells[0].Value != null)
    {
    for (int j = this.dataGridView1.Columns.Count - 1; j > -1; j--)
    {
    switch (j)
    {
    case 1:
    case 2:
    DataGridViewCell cell; cell = row.Cells[j];
    Rectangle rect = new Rectangle(x, y, cell.Size.Width, cell.Size.Height);
    StringFormat sf = new StringFormat();
    sf.LineAlignment = StringAlignment.Center;
    sf.Alignment = StringAlignment.Center;
    e.Graphics.DrawRectangle(Pens.Black, rect);
    if (cell.Value != null)
    {
    e.Graphics.DrawString(cell.Value.ToString(),
    SystemFonts.DefaultFont, Brushes.Black, rect, sf);
    }
    x += rect.Width;
    break;
    }
    }
    x = StartX;
    y += row.Height;
    }
    }
    }


    امیدوارم مشکل حل شه
    آخرین ویرایش به وسیله pedram.11 : پنج شنبه 17 اسفند 1391 در 20:02 عصر

  24. #24
    کاربر دائمی آواتار c-sharp_South
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    پشت و جلو کامپیوتر
    پست
    350

    نقل قول: چاپ datagridview بصورت راست به چپ واقعی!

    مرسی
    مشکل کاملا رفع شد.
    ممنون

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

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