PDA

View Full Version : اتصال datasource یک DataGridColumn به یک Dataset



emad4000
چهارشنبه 18 مرداد 1385, 14:12 عصر
من یک دیتاست دارم که 4 تا ستون داره و می خوام اینا رو توی یک دیتاگریدویو نشون بده .حالا می خوام یکی از این 4 ستون به صورت ComboBox باشه . تا اینجا مشکلی ندارم و یه DataGridComboBoxColumn تعریف و new می کنم و به دیتاگرید attach می کنم و مقدار اون ستون رو از دیتاست می خونم و تک تک توی DataGridComboBoxColumn می ریزم .
ولی من می خوام این DataGridComboBoxColumn به دیتاست متصل باشه . یعنی مثل بقیه ستونهای دیتاگرید که هر تغییری توی اونا رخ میده این تغییرات توی دیتاست هم رخ بده و من بتونم راحتتر با متد getchanges تغییرات رو از دیتاست بگیرم
ممنون می شم اگه کمکم کنید

ghafoori
چهارشنبه 18 مرداد 1385, 16:41 عصر
حالا می خوام یکی از این 4 ستون به صورت ComboBox باشه . تا اینجا مشکلی ندارم و یه DataGridComboBoxColumn تعریف و new می کنم و به دیتاگرید attach می کنم و مقدار اون ستون رو از دیتاست می خونم و تک تک توی DataGridComboBoxColumn می ریزم .چرا این کار را میکنید روی دیتا گریدویو راست کلیک کن و گزینه edit column را انتخاب کن از اونجا
می توانید نوع ستون و ستونی را که باید از دیتاست نمایش دهد را انتخاب کنید خاصیت datpropertyname ستون دیتاست را که باید نمایش دهد تعیین میکند

emad4000
دوشنبه 23 مرداد 1385, 15:39 عصر
دستتون درد نکنه
این کارو کردم و مشکلم برطرف شد ولی مشکلات جدیدی به وجود اومده که اگه میشه در مورد اینها هم توضیح بدین
از همون قسمت Edit Columns یکی از ستون ها رو به نوع DataGridViewComboBoxColumn تبدیل کردم و دیتاسورسشو به fieldListBindingSource متصل کردم ولی موقع اجرا این پیغام خطا رو میده

System.ArgumentExeption : DataGridViewComboBoxCell Value is not Valid
هرچی این ارور رو OK میکنم یکی دیگه باز میشه و باید برنامه رو Stop کنم
من مقدار پراپرتی DisplayMember رو به همون فیلد موردنظرم تغییر دادم و Error رفع شد . ولی حالا توی لیست این ComboBox فقط همون مقادیر قبلی این فیلد ظاهر میشن و اصلا نمیشه چیز دیگه ای به این comboBox اضافه کرد . ضمنا اگه یه ردیف جدید تو دیتاگرید اضافه کنم و بخوام مقدار کمبوباکس این ردیف رو عوض کنم پرش می کنه به ردیفهای قبلی

اگه میشه یه کم توضیح بدین که دقیقا باید چیکار کنم . ممنون

emad4000
سه شنبه 24 مرداد 1385, 14:48 عصر
کسی جواب نمی ده ؟؟؟؟؟؟

emad4000
یک شنبه 29 مرداد 1385, 15:07 عصر
یعنی هیچ کس این مشکل رو نداشته ؟
خواهش می کنم یکی کمک کنه . چند وقته برنامه ام راکد مونده .

ghafoori
دوشنبه 30 مرداد 1385, 20:20 عصر
دوست عزیزیک نگاهی به این پست من بنداز ببین کارت راه می افته
http://www.barnamenevis.org/forum/showthread.php?t=49449

emad4000
چهارشنبه 01 شهریور 1385, 13:38 عصر
منم همین کارا رو انجام دادم ولی بازم مشکل دارم ( همونایی که بالا گفتم )
ضمنا وقتی display member & value member رو ست می کنم دیگه نمی تونم یه ردیف جدید تو دیتاگرید اضافه کنم . چون مثلا به محض اینکه عبارت "عماد" رو توی ردیف جدید و در کومبوباکس وارد می کنم این خونه کومبوباکس خالی میشه و ردیفی Select میشه که مقدار اون ستونش "عماد" باشه

emad4000
پنج شنبه 09 شهریور 1385, 00:25 صبح
سلام به همگی
بالاخره خودم به یه جاهایی رسیدم . ولی بازم مشکل داره . امیدوارم ایندفعه دیگه مشکلم حل شه .
من یه برنامه دیگه عین مال خودم نوشتم و اینبار برای DataGridViewComboBoxColumn خصیصه DataSource رو خالی گذاشتم و به این ترتیب خطا رفع شد و مقادیر مورد نظرم رو هم با خصیصه Items وارد کردم و این یکی درست کار می کرد ولی برنامه خودم کار نمیکرد در حالی که تمام این تغییرات جدید رو در اون اعمال کرده بودم
اینبار در برنامه جدیدیه که درست کار می کرد بانک اطلاعاتی رو عوض کردم و از بانک اصل کاری که توی پروژه اصلی بود استفاده کردم و همون Error قبلی ظاهر شد و فهمیدم مشکل از بانک اطلاعاتیمه . ولی هرچی چک می کنم می بینم این دو تا بانک از نظر ساختار هیچ فرقی با هم ندارن . به همین علت بانک و اون پروژه دومیه رو می ذارم شما چک کنین ببینین نمی فهمین مشکل از کجاست
ممنون می شم اگه این یه کارو هم کمکم کنید

ghafoori
پنج شنبه 09 شهریور 1385, 10:53 صبح
من برنامتون را بررسی کردم شما می خواهید کاربر نوع فیلد را از یک لیست مشخص انتخاب کند
من گفتم که به پست من یک نگاهی بیاندازید اگر درست دقت می کردید مشکلتون حل میشد من بانک شما را دانلود کردم ونوع فیلد را به عدد تبدیل کردم یک جدول ایجاد کردم با دو فیلد یکی عددی و یکی رشته ای که این جدول اون لیستی میشود که کاربر باید ازان انتخاب کند و بقیه کار هم مانند ان توضیحاتی که داده بودم حل شد به این صورت که ان لیست را از یک جدول می خواند و مقدار عددی را بجاش می گذارد
این هم عکس برنامه دیگه نگی درست کار نمی کنه
4830
4831
این هم برنامه جدید و بانک جدید فقط برای استفاده رشته اتصال رو از داخل فایل app.config عوض کن تا برنامه اجرا شود این برنامه بدون یک خط کدنویسی ایجاد شده شما هم سعی کن از wizard ها بیشتر استفاده بکنی
4832
4833

arash.keivan
یک شنبه 27 خرداد 1386, 06:36 صبح
سلام پروژه من کلیه کارهایی که استاد تو کلاس با لیستس که در دستشه انجام میده من میخوام این لیست که شامل نمرات کلاسی حضور غیاب......رو با نمره پایان ترم جمع بزنه و نمره نهایی رو چاپ کنه میخواستم کمک کنید