PDA

View Full Version : سوال: تنظیم خاصیت RightToLeft=true تنها برای یکی از ستون های دیتگریدویو



pooya1072
چهارشنبه 18 اردیبهشت 1392, 19:59 عصر
سلام
من می خوام خاصیت RightToLeft رو تنها برای یکی از ستونهای دیتاگریدویو True کنم . چطور می تونم این کار رو انجام بدم . دیتاگریدویو در حالت نرمال فقط به صورت کلی این خاصیت رو تغییر میده.

mousa1992
چهارشنبه 18 اردیبهشت 1392, 20:06 عصر
سلام

ببینم میتونی با استفاده از خاصیتAlignment به هدفت برسی

dataGridView1.Rows[0].Cells[0].Style.Alignment = DataGridViewContentAlignment.MiddleRight;

khokhan
چهارشنبه 18 اردیبهشت 1392, 20:22 عصر
سلام
من می خوام خاصیت RightToLeft رو تنها برای یکی از ستونهای دیتاگریدویو True کنم . چطور می تونم این کار رو انجام بدم . دیتاگریدویو در حالت نرمال فقط به صورت کلی این خاصیت رو تغییر میده.

private void RTLColumnsDGV_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.ColumnIndex == RTLColumnID && e.RowIndex >= 0)
{
e.PaintBackground(e.CellBounds, true);
TextRenderer.DrawText(e.Graphics, e.FormattedValue.ToString(),
e.CellStyle.Font, e.CellBounds, e.CellStyle.ForeColor,
TextFormatFlags.RightToLeft | TextFormatFlags.Right);
e.Handled = true;
}
}

pooya1072
چهارشنبه 18 اردیبهشت 1392, 20:27 عصر
نه دوست عزیز
alignment نحوه قرار گیری متن رو تنظیم میکنه . توی دیتاگریدویو وقتی righttoleft رو true کنی اگه عددی منفی وارد کنی سیستم به اشتباه علامت منفی رو در آخر عدد نمایش میده . به شکل زیر :
123- ---> -123

pooya1072
پنج شنبه 19 اردیبهشت 1392, 14:27 عصر
private void RTLColumnsDGV_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.ColumnIndex == RTLColumnID && e.RowIndex >= 0)
{
e.PaintBackground(e.CellBounds, true);
TextRenderer.DrawText(e.Graphics, e.FormattedValue.ToString(),
e.CellStyle.Font, e.CellBounds, e.CellStyle.ForeColor,
TextFormatFlags.RightToLeft | TextFormatFlags.Right);
e.Handled = true;
}
}
یک دونه تشکر کمه ... 2 تا دیگه تشکر طلب داری . اگه توی تاپیک های دیگه پستی ازت دیدم جبران میکنم.:چشمک: