PDA

View Full Version : سوال: نوشتن اعداد فارسی در فیلدهای DataGrideView



daniyaltjm
چهارشنبه 17 شهریور 1395, 11:45 صبح
سلام چطور میشه بدون استفاده از تابع اعداد گرید ویو رو فارسی کرد؟

rasol_afkham
چهارشنبه 17 شهریور 1395, 12:44 عصر
فونت باید فارسی هم داشته باشه. مثل Mitra, Titr

daniyaltjm
چهارشنبه 17 شهریور 1395, 14:26 عصر
فونت باید فارسی هم داشته باشه. مثل Mitra, Titr

خوب مگه فونت Tahoma فارسی نیست!!!!

behzadkhan
چهارشنبه 17 شهریور 1395, 16:53 عصر
با سلام

دوست عزیز

دو خصوصیات از فرمی که "دیتاگریدویو" در آن قرار دارد به شکل زیر تغییر دهید:

RightToLeft = Yes
RightToLeftLayout = True

همچنین یک خاصیت از خود کنترل "دیتاگریدویو" را به شکل زیر تغییر دهید:

RightToLeft = Yes

موفق و پیروز باشید.

با تشکر

mrprestige
چهارشنبه 17 شهریور 1395, 19:17 عصر
سلام وقتت بخیر دوست من ، برای اینکه بتونی توی سلول های دیتاگرید اعداد پارسی تایپ کنی باید به این روش بری جلو دوست عزیز در مرحله اول توی رویداد EditingControlShowing مربوط به DataGridView تون این کد رو بنویسید

e.Control.KeyPress -= new KeyPressEventHandler(Column1_KeyPress);
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
TextBox tb = e.Control as TextBox;
if (tb != null)
{
tb.KeyPress +=new KeyPressEventHandler(Column1_KeyPress);
}
}


حالا خارج از Event مربوطه در داخل کلاس Form رویداد Column1_KeyPress اینطور پیاده سازی کن

private void Column1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((int) e.KeyChar >= 48 && (int) e.KeyChar < 58)
e.KeyChar = (char) (1632 + int.Parse(e.KeyChar.ToString()));
}




حالا دیگه در اولین ستون اعداد بصورت پارسی تایپ میشن پیروز و موفق باشید

daniyaltjm
چهارشنبه 17 شهریور 1395, 22:27 عصر
سلام وقتت بخیر دوست من ، برای اینکه بتونی توی سلول های دیتاگرید اعداد پارسی تایپ کنی باید به این روش بری جلو دوست عزیز در مرحله اول توی رویداد EditingControlShowing مربوط به DataGridView تون این کد رو بنویسید

e.Control.KeyPress -= new KeyPressEventHandler(Column1_KeyPress);
if (dataGridView1.CurrentCell.ColumnIndex == 0)
{
TextBox tb = e.Control as TextBox;
if (tb != null)
{
tb.KeyPress +=new KeyPressEventHandler(Column1_KeyPress);
}
}



حالا خارج از Event مربوطه در داخل کلاس Form رویداد Column1_KeyPress اینطور پیاده سازی کن

private void Column1_KeyPress(object sender, KeyPressEventArgs e)
{
if ((int) e.KeyChar >= 48 && (int) e.KeyChar < 58)
e.KeyChar = (char) (1632 + int.Parse(e.KeyChar.ToString()));
}




حالا دیگه در اولین ستون اعداد بصورت پارسی تایپ میشن پیروز و موفق باشید



ممنون، حالا برای موقعی که از بانک اعداد رو میخونم و توی گرید ویو قرار میدم باید چکار کنم ؟

mr.sirwan
چهارشنبه 17 شهریور 1395, 22:33 عصر
ممنون، حالا برای موقعی که از بانک اعداد رو میخونم و توی گرید ویو قرار میدم باید چکار کنم ؟

دوست عزیز شما اگه میخواین کلا اعدادی که توی نرم افزارتون استفاده میکنین فارسی باشن، باید از فونت هایی که اعداد فارسی رو ساپورت میکنن استفاده کنین مثل
B Roya, Mitra, B lotus و ....

daniyaltjm
پنج شنبه 18 شهریور 1395, 02:02 صبح
دوست عزیز شما اگه میخواین کلا اعدادی که توی نرم افزارتون استفاده میکنین فارسی باشن، باید از فونت هایی که اعداد فارسی رو ساپورت میکنن استفاده کنین مثل
B Roya, Mitra, B lotus و ....

متاسفانه موقع استفاده از این فونتا ویژال استادیو ایراد میگیره که این فونتا TrueType نیستن!!!

mrprestige
پنج شنبه 18 شهریور 1395, 10:56 صبح
خب این که دیگه کار نداره ، برای اینکار فونت Form تون ( که داخل Datagridview تون قرار داره) رو مثلا به فونت Bardiya تغییر بده . تصویر زیر نمونه ای با این فونت هست

142447