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

نام تاپیک: Right To Left کردن فقط یک ستون از دیتا گرید

  1. #1
    کاربر دائمی آواتار پرستو پارسایی
    تاریخ عضویت
    آبان 1392
    محل زندگی
    تهران
    پست
    458

    Right To Left کردن فقط یک ستون از دیتا گرید

    با سلام آیا Right to left کردن یک ستون خاص دیتا گرید ممکنه؟ در حال حاضر دیتاگرید ویو مد نظرم در حال yes هست , و در یک ستون خاص نیاز به فرمت لاتین دارم ممنون میشم دوستان در صورت اطلاع پاسخ دهید سپاسگزارم

  2. #2

    نقل قول: Right To Left کردن فقط یک ستون از دیتا گرید

    نقل قول نوشته شده توسط پرستو پارسایی مشاهده تاپیک
    با سلام آیا Right to left کردن یک ستون خاص دیتا گرید ممکنه؟ در حال حاضر دیتاگرید ویو مد نظرم در حال yes هست , و در یک ستون خاص نیاز به فرمت لاتین دارم ممنون میشم دوستان در صورت اطلاع پاسخ دهید سپاسگزارم
    صد البته.
    ولی من با توضیحات شما دو جور مساله متفاوت می بینم با دو راهکار متفاوت.
    یک زمانی هست که محتویات همه سطر ها شبیه Column3 Column2 Column1 ئه، چون فرضا RightToLeft ئه Yes ئه، ولی شما می خواهید در یک سطر خاص در جهت مخالف Column1 Column2 Column3 نمایش داده بشه.
    که میتونه با فرمت بندی خانه ها (کد نویسی در رخداد DataGridView.CellFormatting) انجام بشه و انجامش هم ربطی به دستکاری روال رسم نداره. فقط محتویات فرمت بندی شده خانه ها که میخواد به روال رسم ارسال بشه جابجا می کنیم تا مقداری که فرضا قرار بود داخل ستون Column1 نمایش داده بشه در ستون Column3 نمایش داده بشه.

    اما در مساله دوم اساس میخواهید یک تغییر در خود روال رسم بدهید، فرضا متن یک خانه یا خانه های یک سطر خاص موقع رسم RightToLeft نباشه.
    موقع رسم خانه های DataGridView رخداد DataGridView.CellPainting میتونه بجای رسم پیشفرض که فرضا بر اساس اون RightToLeft بوده رسم اختصاصی خودتون رو انجام بده که مثلا هیچ اعتنایی به RightToLeft نداشته باشه و چپ به راست رسم کنه.

  3. #3
    کاربر دائمی آواتار پرستو پارسایی
    تاریخ عضویت
    آبان 1392
    محل زندگی
    تهران
    پست
    458

    نقل قول: Right To Left کردن فقط یک ستون از دیتا گرید

    ممنونم از پاسخ شما . من در این دیتا گرید در یک ستون از فرمت ساعت استفاده کردم و الان با توجه به اینکه دیتا گریدم ReadOnly هست و نیاز به Edit نداره قصد دارم بجای نمایش فارسی در درون سلول مورد نظر از نمایش بصورت لاتین استفاده بشه ممنون میشم به این مورد اشاره بفرمایید سپاسگزارم

  4. #4

    نقل قول: Right To Left کردن فقط یک ستون از دیتا گرید

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

    Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    DataGridView1.Columns.Clear()
    DataGridView1.Columns.Add("ColumnTime", "Time")
    DataGridView1.Columns.Add("ColumnMode", "Mode")
    DataGridView1.Rows.Add("12:34", "Farsi")
    DataGridView1.Rows.Add("12:34", "Latin")
    DataGridView1.Rows.Add("12:34", "Arabic")
    End Sub

    Private Sub DataGridView1_CellPainting(sender As Object, e As DataGridViewCellPaintingEventArgs) Handles DataGridView1.CellPainting
    If e.RowIndex >= 0 AndAlso e.ColumnIndex = 0 Then
    e.Handled = True
    e.Paint(e.ClipBounds, e.PaintParts And (DataGridViewPaintParts.All Xor DataGridViewPaintParts.ContentForeground))
    Dim format = New StringFormat(StringFormat.GenericDefault)
    Select Case e.RowIndex
    Case 0
    format.SetDigitSubstitution(1065, StringDigitSubstitute.National)
    Case 1
    format.SetDigitSubstitution(1033, StringDigitSubstitute.National)
    Case 2
    format.SetDigitSubstitution(1025, StringDigitSubstitute.National)
    End Select
    Dim selected = (e.State And DataGridViewElementStates.Selected) = DataGridViewElementStates.Selected
    Using brush = New SolidBrush(IIf(selected, e.CellStyle.SelectionForeColor, e.CellStyle.ForeColor))
    e.Graphics.DrawString(e.FormattedValue, e.CellStyle.Font, brush, e.CellBounds, format)
    End Using
    End If
    End Sub
    End Class

  5. #5
    کاربر دائمی آواتار پرستو پارسایی
    تاریخ عضویت
    آبان 1392
    محل زندگی
    تهران
    پست
    458

    نقل قول: Right To Left کردن فقط یک ستون از دیتا گرید

    از پاسخگویی دقیق شما بسیار سپاسگزارم . عالی و آموزنده . مشکل Right to left حل شد ولی فونت همان سلول در حالت Top_Right قرار گرفت ، در صورتی که من در حالت MiddleLeft قرار داده بودم ممنونم از پاسخگویی شما
    آخرین ویرایش به وسیله پرستو پارسایی : پنج شنبه 27 آذر 1399 در 13:32 عصر

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

  1. پاسخ: 0
    آخرین پست: پنج شنبه 22 شهریور 1397, 17:21 عصر
  2. سوال: روش Right to left نمودن بعضی از ستونهای DataGridView
    نوشته شده توسط احمد آذری در بخش C#‎‎
    پاسخ: 3
    آخرین پست: شنبه 30 آبان 1394, 00:20 صبح
  3. سوال: تغییر right to left یکی از ستونهای Datagridview
    نوشته شده توسط aisana در بخش C#‎‎
    پاسخ: 6
    آخرین پست: یک شنبه 03 مهر 1390, 10:34 صبح
  4. right to left كردن ستون خاصي از datagrideview
    نوشته شده توسط karimi84 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: یک شنبه 17 خرداد 1388, 09:13 صبح
  5. Right To Left کردن فقط یک ستون از DataGridView
    نوشته شده توسط M.R.N.P.H.D در بخش C#‎‎
    پاسخ: 5
    آخرین پست: شنبه 02 شهریور 1387, 22:21 عصر

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

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