PDA

View Full Version : اعمالی روی دیتا گرید به صورت دستی و بدن ارتباط با دیتا بیس



saed2006
چهارشنبه 08 اردیبهشت 1389, 09:52 صبح
میخوام امکان عمل حذف و اضافه و ویرایش رو به صورت دستی روی دیتا گرید به کاربر بدم
سوال:کاربر چجوری میتونه به صورت دستی اطلاعات رو از دیتا گرید حذف کنه(بدون استفاده از دکمه ای خاص
2-توی کدوم رویداد های دیتا گیرد میتونم اعمال اضافه و حذف و ویرایش رو تشخیص بدم

razavi_university
چهارشنبه 08 اردیبهشت 1389, 09:55 صبح
سوالتون خیلی کلیه
همه کارهایی که گفتید به چندین روش مختلف قابل انجام است مثلابرای حذف یک رک.رد Context Menu بگذارید یا Button یا با دکمه delete کی برد.
هر کدام از اینها روش پیاده سازی متفاوتی دارد

saed2006
چهارشنبه 08 اردیبهشت 1389, 10:00 صبح
توضیح بیشتر
روی فرم یک دیتا گرید دارم و یک تکست باکس
دیتا گرید یه ستون داره به اسم مقدار
و تکست باکس اسمش هست کلید
میخوام کاربر بتونه تعدادی مقدار تعریف کرده و کلید هاشو در تکست باکس وارد کنه
در نهایت هم هرچی وارد کرده توی یک hashtable ذخیره کنم
مشکل:
نمیدونم کی اطلاعات رو توی hashtable وارد کنم
و مهمتر از اون چجوری عمل ویرایشی که توسط کاربر اعمال میشه رو توی hashtable هم
اعمال کنم

هیچ دکمه اضافی نمیخوام روی فرم باشه
فقط یک دیتا گرید یک تکست باکس و تمام

اگه بخوام از contex menu استفاده کنم
که دارای دکمه های اضافه حذف و ویرایش باشه
واسه هر عمل توی کدوم رویداد ها کار کنم و چجوری پیاده سازی کنم کلا

exlord
چهارشنبه 08 اردیبهشت 1389, 10:08 صبح
خوب تو selectionChanged گرید مقداره فیلد رو بریز تو text box
تو textChanged یا focuslost یا زدن Enter مقدار فیلد select شده از گرید رو عحیشفث کن ....
فکر کنم اگه hashtable به گرید bind شده باشه خود به خود update بشه ....
برای حذف هم یا context menu بزار یا کلید delete کیبورد رو براش تعریف کن تا row که select شده رو حذف کنه .....

saed2006
چهارشنبه 08 اردیبهشت 1389, 10:18 صبح
میتوی یه نمونه بهم بدی که اعمال اضافه حذف و ویرایش رو با ستفاده از منو کانتکس روی دیتا گرید انجام بده
توی hashtable
key=currentcell[0] datagrid
values=textbox1.text

saed2006
چهارشنبه 08 اردیبهشت 1389, 10:34 صبح
من یه منو استریپ گذاشتم با سه تا ایتم
اضافه
حذف
ویرایش
وقتی دکمه اضافه زده شد خاصیت readonly غیر فعال میشه و اجازه میده اطلاعات وارد بشه
وقتی حذف زده شد currentrow حذف میشه
ولی برای ویرایشش موندم چی کار کنم
و مشکل دیگه اینکه
وقتی readonly فعال میشه همه ردیف ها میتونن ویرایش بشن که من نمیخوام اینطوری بشه چون فقط برای اضافه کردن readonly رو فعال کردم نه برای ویرایش

saed2006
چهارشنبه 08 اردیبهشت 1389, 10:37 صبح
dataGridView2.Rows.Add();
dataGridView2.CurrentRow.ReadOnly = false;
:عصبانی++:
جواب نمیده چرا

saed2006
چهارشنبه 08 اردیبهشت 1389, 12:34 عصر
توی تول استریپ دکمه های اضافه حذف و ویرایش رو دارم
1-اضافه
فقط خواندنی بودن رو بر میدارم
یک سطر خالی اضافه میکنم


2-حذف

اگر CurrentRow نول نبود حذف میکنم

3-ویرایش

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

سوال
برای عمل ذخیره سطر جاری(اضافه یا ویرایش
توی کدوم رویداد کد شو بنویسم؟

razavi_university
چهارشنبه 08 اردیبهشت 1389, 13:17 عصر
واسه ویرایش میتونی readonly رو برنداری، مقدار ستون رو بیار داخل textbox وقتی تغییرش دادی و مثلا enter رو زدی به جای مقدار ستون فعلی قرار بگیره

saed2006
چهارشنبه 08 اردیبهشت 1389, 13:47 عصر
واسه ویرایش میتونی readonly رو برنداری، مقدار ستون رو بیار داخل textbox وقتی تغییرش دادی و مثلا enter رو زدی به جای مقدار ستون فعلی قرار بگیره

خاصیت راست کلیک رو بزارم روی دیتا گرید؟

razavi_university
پنج شنبه 09 اردیبهشت 1389, 12:50 عصر
آره مثل حالت قبل، قثط وقتی منو ویرایش رو زدی، مستقیم داخل grid ویرایش نمیشه