PDA

View Full Version : جدا کردن اعداد به صورت سه رقم ، سه رقم در گرید



Fastdesign
دوشنبه 27 آذر 1391, 20:12 عصر
با سلام خدمت دوستان

در این زمینه تو همین سایت جستجوهای زیادی انجام دادم ولی مطلب خاصی در این زمینه دستیابی پیدا نکردم .

می خوام وقتی اطلاعت عددی رو تو گرید نمایش می دم به صورت سه رقم سه رقم برام نمایش داده بشه !




با تشکر

plus
دوشنبه 27 آذر 1391, 20:22 عصر
شما میتونی رویداد CellFormatting مربوط به Grid رو هندل کنی و توی اون، در صورتی که ستون، ستون عددی باشه اون رو به صورت سه رقم سه رقم در بیاره. در مورد سه رقم سه رقم کردن توی همین فروم مطلب هست.


private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.DesiredType == typeof(int))
{
e.Value = ... ; // Format number
e.FormattingApplied = true;
}
}

ordebehesht
دوشنبه 27 آذر 1391, 20:29 عصر
این سه رقم جدا نمیک نه ولی واحد ارزی داره

DataGridViewCellStyle objCurrencyCellStyle = new DataGridViewCellStyle();
objCurrencyCellStyle.Format = "C";
dgv.Columns["price"].DefaultCellStyle = objCurrencyCellStyle;



شاید بدردت خورد ربطی به چیزیزی که میخوای نداره اما یه ترفنده جدیده

plus
دوشنبه 27 آذر 1391, 20:34 عصر
این سه رقم جدا نمیک نه ولی واحد ارزی داره

DataGridViewCellStyle objCurrencyCellStyle = new DataGridViewCellStyle();
objCurrencyCellStyle.Format = "C";
dgv.Columns["price"].DefaultCellStyle = objCurrencyCellStyle;



شاید بدردت خورد ربطی به چیزیزی که میخوای نداره اما یه ترفنده جدیده

فکر میکنم اگه از N بجای C برای فرمت به این روش استفاده بشه سه رقم سه رقم جدا میکنه.

Fastdesign
دوشنبه 27 آذر 1391, 20:34 عصر
دوست عریز تو قسمت Format number باید چی بنویسم ؟؟

یه نمونه بزار

plus
دوشنبه 27 آذر 1391, 20:51 عصر
دوست عریز تو قسمت Format number باید چی بنویسم ؟؟

یه نمونه بزار

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


private string FormatNumber(object number)
{
StringBuilder formattedNumber;
string numberString = number.ToString();

numberString = numberString.Replace(",", string.Empty);

formattedNumber = new StringBuilder();
for (int i = numberString.Length - 1, j = 0; i >=0; i--, j++)
{
formattedNumber.Insert(0, numberString[i]);
if (j == 2 && i != 0)
{
formattedNumber.Insert(0, ",");
j = 0;
}
}

return formattedNumber.ToString();
}

Fastdesign
سه شنبه 28 آذر 1391, 08:50 صبح
دوست عزیز این کد جواب نمی ده !

tara1367
سه شنبه 28 آذر 1391, 09:29 صبح
روي EditColumn كليك كرده بعد از پنجره باز شده گزينه DefaultCellStyle را انتخاب كرده در نهايت جلوي گزينه Format بنويسيد N0 مشكلتون حل ميشه.