PDA

View Full Version : تعیین فرمت اطلاعات در Grid



shsoft
پنج شنبه 03 دی 1383, 20:27 عصر
با سلام
من فیلدی رو در یکGrid نمایش دادم که محتویات آن همیشه یکی از مقادیر 1و2و3
است حالا می خوام به جای نمایش این مقادیر به ترتیب مقادیر "رتبه اول" و "رتبه دوم"
و "رتبه سوم" نمایش داده بشه.اما نمی تونم

من قبلا برای مقادیر منطقی این کار رو کرده بودم:

Dim fmtBooleanData As StdDataFormat
Set fmtBooleanData = New StdDataFormat
fmtBooleanData.Type = fmtBoolean
"نقد"= fmtBooleanData.TrueValue
"چک"= fmtBooleanData.FalseValue
Set DataGrid1.Columns(5).DataFormat = fmtBooleanData

با تشکر</span>

Behrouz_Rad
جمعه 04 دی 1383, 09:02 صبح
سلام.
وقتی شما میگی مقادیر منطقی، یعنی یا صفر یا یک. دیگه 1 و 2و 3 چیه؟
بعدشم شما فیلدت رو از نوع Sring کن و یه تابع معادل بنویس که اگر یک وارد شد بشه رتبه اول اگر 2 وارد شد بشه رتبه دوم و ....

موفق باشید.
بهروز راد
:wise1:

shsoft
شنبه 05 دی 1383, 17:24 عصر
دوباره سلام

1- من گفتم که "برای مقادیر منطقی این کار رو کردم" همان طور که در مثال روشن است.

2- من برای مقادیر عددی مانند بایت می خوام این کار رو انجام بدم

3- راه حلی که شما گفتید باعث به وجود آمدن اطلاعات اضافی در بانک و موجب
حجیم شدن بانک خواهد شد

4- خود datagrid همان طور که در مثال آمده چنین قابلیتی دارد اما من توانایی استفاده
از آن را ندارم و از دوستان کمک خواستم.

حالا هر کدو از دوستان راه حلی به نظرشون میرسه کمک کنند
با تشکر

Behrouz_Rad
یک شنبه 06 دی 1383, 08:28 صبح
آهااااااااااا.
آقا مشکلی که افراد این انجمن دارند اینه که سوالاتشون رو به درستی مطرح نمی کنند. البته ببخشیدااااااااا.
آقا جون، DataGrid یک روال داره به نام BeforeInsert که شما می تونی قبل از ریخته شدن اطلاعات در بانک اطلاعاتی شرط ورود اطلاعات رو چک کنی. اگر شرط برقرار بود، آرگومان Cancel برابر با False میشه و اگر برقرار نبود برابر با True میشه.

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

shsoft
یک شنبه 06 دی 1383, 19:41 عصر
نشد دیگه!

شاید تا حدودی شما در مورد درست مطرح کردن سوال حق داشته باشد که من فکر می کنم عبارت "فرمت... " کاملا گویا باشه.

نکته دوم در مورد افزونگی اطلاعات که به اون اشاره کردم مطابق با گفته های شما
به جای عدد 1 مقدار "رتبه اول" ذخیره بشه که اینو اگر از نظر طول هم حساب کنی
فکر کنم چندین برابر داره اطلاعات بی خود ذخیره می شه.شما می تونید تعداد کاراکتر ها رو شمارش کنید.

نکته سوم در مورد روال BeforeInsert همان طور که می دونید این رول زمانی اجرا میشه که شما یک رکورد رو مستقیما در DataGrid وارد کنید اما من می خواهم اطلاعاتم رو فقط درDataGrid نمایش بدم.

Behrouz_Rad
دوشنبه 07 دی 1383, 08:39 صبح
سلام.
ای بابا.
خوب رشته ای رو که توی Text Box نوشته شده، با کدنویسی بررسی کن که آیا همون چیزی هست که شما می خوای یا نه.
هزار تا تابع وجود داره. میتونی از Mask Edit هم استفاده کنی.
مثلا واسه تاریخ با تابع IsDate می تونی مشخص کنی که مقدار وارد شده از نوع تاریخ هست یا نه.
و هزار تا چیز دیگه.
:wise1:

reham
سه شنبه 08 دی 1383, 21:19 عصر
شما تو دیتا بیس 1 داری میخوای تو گرید اونو رتبه اول نشون بدی درسته؟
من معمولا مقادیر رو میخونم بعد فیلتر میکنم میریزم تو گرید.

shsoft
پنج شنبه 10 دی 1383, 13:03 عصر
کاملا درسته ولی شما چطوری در grid رتبه اول رو نمایش می دهید

reham
پنج شنبه 10 دی 1383, 15:28 عصر
من اول با query اطلا عات رو میخونم بعد میریزم تو هر چی متغیر ارایه .خلاصه بعد میبینم مثلا اگه 1 بود به جاش "رتبه اول" رو میریزم تو دیتاست بعد که همه رو فیلتر کردم حالا گرید رو به دیتاست بایند میکنم.

نمیدونم منطقی هست یا نه ولی من کارمو با این راه میندازم
موفق باشی.