PDA

View Full Version : گرد کردن در دیتا گرید ویو



mr.siahatgar
چهارشنبه 04 مرداد 1391, 11:49 صبح
با سلام
من یک پروژه دارم که با sql کار میکنه . توی ان یه جدول هست که از چنیدین ستون تشکیل شده مانند قیمت کتاب . قیمت دفتر و غیره . توی پروژه ام یه دستور نوشتم که مثلا میاد کتاب ها رو گروه بندی میکنه و بعد میانگین قیمت ان نوع کتاب را در دیک دیتا گرید ویو نشان می دهد مشکل من این است که میانگین ها رو با چند رقم اعشار نشان میده من میخوام فقط تا دو رقم اعشار نشان بده . میدانم که باید از تابع round استفاده کنم اما چون در سلکت من به وسیله گروه بندی است نمی دانم باید چطوری این کار را انجام بدم
مثلا من یه ستون دارم که قیمت کتابها رو ذخیره میکنه و در ستون بعدی نوع کتاب را مثلا فیزیک یا ریاضیات ذخیره میکنه بعد من طبق دستور زیر ان را گروه بندی میکنم و میانگین قیمت ان گروه و در دیتا گرید ویو به کاربر نشان میدم ولی در دیتا گردید ویو تا چند رقم به من نشان میدهد که من میخواهم فقط تا دو رقم نشان بدهد
select avg(book ) from table group by nooe

ali_habibi1384
چهارشنبه 04 مرداد 1391, 11:58 صبح
از تابع string.tormat استفاده كن.براي كار شما به اين صورت(مثال زدم) بنويس:



String.Format("{0:0.##}", 123.4567); // "123.46"

براي توضيح كامل كار با اين تابع به اينجا مراجعه كن (http://www.csharp-examples.net/string-format-double/)با نومنه مثال زده.

mr.siahatgar
چهارشنبه 04 مرداد 1391, 12:09 عصر
ممنون ولی من نمیدونم چطوریباید استفاده کنم اخه من از دستور زیر مستقیا در دیتا گردید ویو نشان میدم حالا باید چه جوری این کار را بکنم
system.datatable dt = select avg(book ) from table group by nooe
datagridview1.datasource = dt

tooraj_azizi_1035
چهارشنبه 04 مرداد 1391, 12:48 عصر
سلام
http://msdn.microsoft.com/en-us/library/26etazsy.aspx
http://msdn.microsoft.com/en-us/library/1yef90x0.aspx
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcellstyle.format. aspx

ali_habibi1384
چهارشنبه 04 مرداد 1391, 13:07 عصر
توي DefaultCellStyle.Format در رويداد فرم لود واسه گريدت بنويس