PDA

View Full Version : تبدیل string به integer در کریستال ریپورت



mah.yar
یک شنبه 15 بهمن 1385, 21:21 عصر
من فیلدی از نوع text دارم که توش فقط عدد وارد میکنم( مثلا 2000 یا 3200 و...)

حالا می خوام توی کریستال ریپورت نوع این فیلد رو به integer(عددی) تغییر بدم.

با چه فرمولی توی کریستال ریپورت مقدار یه فیلد رو به integer تبدیل کنم.

programmermp
یک شنبه 15 بهمن 1385, 21:35 عصر
من فیلدی از نوع text دارم که توش فقط عدد وارد میکنم( مثلا 2000 یا 3200 و...)

حالا می خوام توی کریستال ریپورت نوع این فیلد رو به integer(عددی) تغییر بدم.

با چه فرمولی توی کریستال ریپورت مقدار یه فیلد رو به integer تبدیل کنم.

سلام

اگه بگی واسه چه منظوری می خواهی این کار رو بکنی

شاید راه حل بهتری باشه

اصلا چرا می خواهی تبدیل به مقدار صحیح عددی کنی توی کریستال ریپورت

mah.yar
یک شنبه 15 بهمن 1385, 21:52 عصر
در اصل فیلدی دارم به اسم mablagh که نوع اون integer است و توی کریستال ریپورت از طریق Sum مجموع فیلد رو حساب میکنم و تا اینجا مشکلی ندارم.

اما وقتی دیتاتیبل رو به کریستال ارسال میکنم چون نوعش Stringه نمیتونه مقادیر فیلد رو جمع کنه.


Dim dt2 As New DataTable

dt2.Columns.Add("mablagh")

Dim i As Integer
For i = 0 To Me.DataGridView1.Rows.Count - 1
Dim values() As String = {Me.DataGridView1.Rows(i).Cells(0).Value}
dt2.Rows.Add(values)
Next

Dim cr As New CrystalReport2
cr.SetDataSource(dt2)
Me.CrystalReportViewer1.ReportSource = cr


تو این روش به جای اینکه مقدار رو مستقیما از جدول وارد دیتاتیبل کنم از دیتاگرید وارد دیتاتیبل میکنم و دیتاتیبل رو به کریستال پاس میدم.

مشکل هم همین جاست که توی کد زیر

dt2.Columns.Add("mablagh")

باید نوع فیلد مبلغ رو براش تعریف کنم و چون تعریف نشده به صورت اتوماتیک از نوع string در نظر گرفته میشه.

با کد زیر برای تعریف کردن نوعش دارم ور میرم اما فعلا نمیشه:

dt2.Columns.Add("mablagh", System.Type.GetType("system.xxx"))

meh_secure
دوشنبه 16 بهمن 1385, 00:51 صبح
از تابع ()VAL در کریستال ریپورت استفاده کنید.

mah.yar
دوشنبه 16 بهمن 1385, 06:41 صبح
ممنون .meh_secure

با کد زیر مشکلم حل شد.

dt2.Columns.Add("naghdi", System.Type.GetType("System.Int16"))

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