PDA

View Full Version : سوال: data grid DataPropertyName



khadem1386
سه شنبه 07 مهر 1388, 14:24 عصر
با سلام:

من یک data grid در فرم خودم دارم

که یکی از ستونهاش با نام gender هست. (یعنی جنس) در داخل database بصورت 0و1و2 مقدار گذاری شده


حالا من می خوام توی Data grid بصورت
-نامشخص
-مرد
- زن
نشان داده بشه

از این سه تا یک آرایه درست کردم
ولی نمی دونم که چطوری انرو به datat grid وصل کنم

تا data grid به من 1,2و0 نشان نده بلکه این کلمات را نشان بدهد

از شما متشکرم

viper2009
سه شنبه 07 مهر 1388, 15:07 عصر
با سلام:

من یک data grid در فرم خودم دارم

که یکی از ستونهاش با نام gender هست. (یعنی جنس) در داخل database بصورت 0و1و2 مقدار گذاری شده


حالا من می خوام توی Data grid بصورت
-نامشخص
-مرد
- زن
نشان داده بشه

از این سه تا یک آرایه درست کردم
ولی نمی دونم که چطوری انرو به datat grid وصل کنم

تا data grid به من 1,2و0 نشان نده بلکه این کلمات را نشان بدهد

از شما متشکرم

ببین خوده دیتا گرید کمبو باکس داره
شما نوع فیلد دیتابیست را Text بگذار بعد در دیتا گرید این کار را بکن.
در collection دیتا گرید 0و1و2 بنویس

امیدوارم متوجه شده باشی

khadem1386
چهارشنبه 08 مهر 1388, 12:29 عصر
بله من متوجه combobox داخل data grid شدم
ولی نمی دونم که
اولا : combobox داخل data grid را چه جوری با سه کلمه (زن ، مرد، نامشخص) پر کنم
دوم: چطوری خاصیت selected index این combobox را به عدد های فیلد خودم وصل کنم


مخصوصا پر کردن combobox مهمه

در ضمن شما می گویی که یک بار combo تنظیم کنم یک بار بصورت text ، من متوجه نشدم

مرسی

viper2009
چهارشنبه 08 مهر 1388, 13:36 عصر
بله من متوجه combobox داخل data grid شدم
ولی نمی دونم که
اولا : combobox داخل data grid را چه جوری با سه کلمه (زن ، مرد، نامشخص) پر کنم
دوم: چطوری خاصیت selected index این combobox را به عدد های فیلد خودم وصل کنم


مخصوصا پر کردن combobox مهمه

در ضمن شما می گویی که یک بار combo تنظیم کنم یک بار بصورت text ، من متوجه نشدم

مرسی

روی دیتا گرید کلیک کن از روی فلش بالای اون می تونی به فیلد ها دسترسی داشته باشی و بعد روی فیلد Combo و بعد هم انتخاب Collection

ضمناً من منظورم این بود که دیتا گریدت فیلد CoboBox داشته باشه و دیتابیست فیلد Text تا بتونی فیلد گریدت رو در ان ثبت کنی.

khadem1386
پنج شنبه 09 مهر 1388, 11:36 صبح
سلام دوست عزیز

من قبلا سراغ اینجا رفتم
فیلد در داخل بانک اطلاعاتی بصورت عدد ذخیره شده
بصورت 0 و 1 و 2 البته جنس این فیلد بصورت text است ولی داخلش عدد نوشتم و INT نیست.

حال می خواهم در داخل Data Grid ستون gender را بصورت combo در آورم و بعد آنرا وابسته به آن عدد ها کنم طوری که سه کلمه
مرد - زن - و نامشخص را وابسته به سه عدد 0-1-2- داخل فیلد کند.

باز هم تکرار می کنم
هر چند که فیلد از نوع text هست ولی توی آن عدد نوشته شده

http://barnamenevis.org/forum/attachment.php?attachmentid=37739&stc=1&d=1254381901

viper2009
پنج شنبه 09 مهر 1388, 13:32 عصر
سلام دوست عزیز

من قبلا سراغ اینجا رفتم
فیلد در داخل بانک اطلاعاتی بصورت عدد ذخیره شده
بصورت 0 و 1 و 2 البته جنس این فیلد بصورت text است ولی داخلش عدد نوشتم و INT نیست.

حال می خواهم در داخل Data Grid ستون gender را بصورت combo در آورم و بعد آنرا وابسته به آن عدد ها کنم طوری که سه کلمه
مرد - زن - و نامشخص را وابسته به سه عدد 0-1-2- داخل فیلد کند.

باز هم تکرار می کنم
هر چند که فیلد از نوع text هست ولی توی آن عدد نوشته شده



می تونی در برنامه ات شرط بگذاری که اگر هر کدام از این کلامات بود بسته به آن عدد هاش رو قرار بده
ولی فیلد هات خالی باشه ها

anooshiran
پنج شنبه 09 مهر 1388, 14:00 عصر
سلام دوست عزيز

بهترين روش براي شما اين است كه هنگام select از Table اين تغيير را به وجود آوريد.
راه كارهاي ديگري هم موجود است ولي اگر تعداد ركوردهاي شكا زياد باشد آن راه ها منطقي نيست.
اگر نوع select را نمي دانيد بگوييد برايتان بنويسم.

khadem1386
پنج شنبه 09 مهر 1388, 14:16 عصر
اگر نوع select را نمي دانيد بگوييد برايتان بنويسم.
بله
ممنون می شم اگر توضیح کامل بدهید.

هر چند من فکر می کنم وقتی توی dataGrid خاصیت comboBox را هم گذاشته برای همین کار ها است.که براحیتی بتوانیم که برای عدد ها ی ذخیره شده جانشین های متنی با تهداد معلوم قرار دهیم و برای هر عدد یک معال استفاده کنیم

anooshiran
پنج شنبه 09 مهر 1388, 15:14 عصر
سلام دوست عزيز

توجه كن پس از دانلود برنامه ضميمه، در ديتابيس NortthWind يك Table بساز و نام آنرا Test قرار بده.

در اين Table يك فيلد به نام Gender بساز و DataType آن را معادل NvarChar و Lenght آن را نيز برابر 1 قرار بده.
سپس هر چه مي خواهي 0 يا 1 يا 2 در آن فيلد قرار بده تا چند ركوردي ايجاد شود.
سپس برنامه را اجرا كن.

اين برنامه شيوه select كردن با شرط را به شما نمايش مي دهد. البته من خيلي سريع اين را آماده كردم و دنبال ريزه كاري نبودم.
به هر حال اين بهترين راه حل براي شماست. البته بنظر من.
اگر توجه كني Column2 مقدار واقعي را به شما نشان ميدهد.

باز هم اگر مشكلي داشتي بگو

khadem1386
سه شنبه 14 مهر 1388, 10:34 صبح
ضمن عرض تشکر بابت برنامه ای که برای من گذاشتید:
من از این کد داخل دستور select خودم استفاده می کنم ولی نمی تونه درست کار کنه



SELECT ID, FName, LName, Father, Location, Gender,
CASE Gender WHEN '0' THEN 'نامشخص' WHEN '1' THEN 'مرد' WHEN '2' THEN 'زن' END AS NewGender ,
[image], DayF, monthF, YearF, folder, DayH, monthH, YearH, Comment, mantage, radif, shomare,
shomareDaftar, mahal_tavalod, Year_Tavalod, month_tavalod, Day_tavalod, shom, code_mely, Address, Ellat, Dr_name,
shomar_nazam_pezeshki, Sang_ghabr, Shomare_javaz, Shomare_bargeh

FROM Table1



و میگه کد qsl شما اشتباه است

ولی یک چیزه دیگه هم می خوام بگم
من ستون Gender را چجوری پر می کنم؟
بوسیله یک لیست باکس یعنی آمدم داخل آن بوسیله addItem به هش سه تا آیتم اضافه کردم مثل ( نامشخص - مرد - زن) بعد رفتم و گزینه selected index را bind کردم به Table1BindingSource1
یعنی چه؟ یعنی اینکه از دوتا صفت از صفت های لیست باکس خودم، بطور ترکیبی استفاده کردم : یکی صفت Text و دیگری صفت selectedIndex
نتیجه اینکه کاربر موقعه ورود و ثبت اطلاعات اونها را بصورت متنی می بینه ولی در داخل دیتا بیس بصورت عددی ذخیره می شه. یعنی selected index که ذخیره می شه

حال من می گم ، حالا که data grid هم قابلیت combo-box را داره حتما باید یک راه برای پر کردن متنی اون با سه کلمه و bind کردن selectedIndex اون به فیلد Gender وجود داشته باشه

آیا به نظر شما این موضع منطقی نیست؟

باز هم تشکر