PDA

View Full Version : سوال: edit در datagridview



manager_mrd
جمعه 27 فروردین 1389, 08:08 صبح
با سلام من ميخوام بعد از نمايش محتويات جدولم در datagrid view همونجا تو datagridتغييراتي مثل اضافه و حذف و ويرايش بدم و اون تغييرات توي جدول مربوطه ذخيره بشه.
خواهشا اگه كسي ميتونه يه مثال برام بزنه ممنون

s.khoshfekran
جمعه 27 فروردین 1389, 11:01 صبح
دوست عزیز شما باید برای DataAdapter خود SelectCommand,UpdateCommand و ... رو تعریف کنی یا با CommandBuilder اینکار انرا انجام دهی بعدش متد Update رو از dataAdapter خود فراخوانی کنی!!

ebrahim1988
جمعه 27 فروردین 1389, 14:12 عصر
دوست عزیز شما باید برای DataAdapter خود SelectCommand,UpdateCommand و ... رو تعریف کنی یا با CommandBuilder اینکار انرا انجام دهی بعدش متد Update رو از dataAdapter خود فراخوانی کنی!!
اگه میشه یه تکه برنامه که خودتون نوشتید رو بزارید
چون من اصلا منظورتون رو متوجه نشدم

s.khoshfekran
جمعه 27 فروردین 1389, 14:53 عصر
این یک نمونه از CommandBuilder هستش!!

Mafia_ir
جمعه 06 آبان 1390, 23:30 عصر
تو اين سورس كد تو اين خط ها :

obj_DataAdapter.Fill(obj_DataSet);
DGVHistory.DataSource = obj_DataSet.Tables[0];

منظور از Table[0]چيه ؟

asadegha
شنبه 07 آبان 1390, 01:08 صبح
با سلام من ميخوام بعد از نمايش محتويات جدولم در datagrid view همونجا تو datagridتغييراتي مثل اضافه و حذف و ويرايش بدم و اون تغييرات توي جدول مربوطه ذخيره بشه.
خواهشا اگه كسي ميتونه يه مثال برام بزنه ممنون

سلام.
واسه update روی خود dg:
شما می تونید در رویداد dataGrid1_CellEndEdit دستور Update دیتا بیستون رو بنویسین. در این صورت با ویرایش هر خونه(cell) از دیتا گریدتون دیتا بیستون رو update میکنین.

واسه حذفش هم سادست. با استفاده از dg1.CurrentRow.Cells[index].Value مقدار فیلد کلید رو بدست بیارین و با یه query ساده حذفش کنین.

araz_pashazadeh
جمعه 20 آبان 1390, 19:26 عصر
با عرض سلام و خسته نباشید خدمت دوستان.
من این کار را می خوام بدون قرار دادن دکمه در فرم انجام بدم در واقع می خوام با وارد کردن اطلاعات و زدن کلید اینتر اطلاعات ثبت بشه و یا با زدن کلید دلت حذف بشن.
اگه دوستان نمونه کدی در این مورد در اختیار من و دوستان قرار بدن ممنون میشم.

araz_pashazadeh
سه شنبه 24 آبان 1390, 12:35 عصر
از دوستان کسی اطلاعاتی در این زمینه نداره؟
خیلی جستجو کردم ولی به نتیجه نرسیدم ممنون میشم اگه راهنمایی کنین.

asadegha
سه شنبه 24 آبان 1390, 13:44 عصر
همون طور که گفتم اگه توی رویداد dataGrid1_CellEndEdit کد update رو بنویسین به راحتی با تغییر توی هر سلول تغییرات توی دیتابیس ذخیره میشه.

araz_pashazadeh
چهارشنبه 25 آبان 1390, 15:22 عصر
همون طور که گفتم اگه توی رویداد dataGrid1_CellEndEdit کد update رو بنویسین به راحتی با تغییر توی هر سلول تغییرات توی دیتابیس ذخیره میشه.

در این صورت برای هر سلول باید یک بار ویرایش کنم که به نظر من این کار درستی نیست.
در ضمن در این صورت نمیشه درج کرد این کار شدنی نیست.

Mahmoud Zaad
چهارشنبه 25 آبان 1390, 15:51 عصر
با عرض سلام و خسته نباشید خدمت دوستان.
من این کار را می خوام بدون قرار دادن دکمه در فرم انجام بدم در واقع می خوام با وارد کردن اطلاعات و زدن کلید اینتر اطلاعات ثبت بشه و یا با زدن کلید دلت حذف بشن.
اگه دوستان نمونه کدی در این مورد در اختیار من و دوستان قرار بدن ممنون میشم.

سلام
دوست عزیز شما کدی که من توی تاپیک"مطالب کمیاب در مورد دیتاگرید ویو" گذاشتم دیدید؟ ایرادش چی بود؟
در ضمن با کلید اینتر روی دیتاگریدویو زیاد نمیشه شوخی کرد!!! چون با زدن اینتر پیمایش به سمت سلول پایینی صورت میگیره از کلیدهای دیگه استفاده کنی راحتتره.

asadegha
چهارشنبه 25 آبان 1390, 19:01 عصر
داداش میتونی توی رویداد rowleave دیتاگرید کد update رو بنویسی. تا یک دفعه کل ردیف آپ دیت بشه.
برای درج هم توی رویداد rowadded بنویسی کدت رو، درج انجام میشه.

araz_pashazadeh
جمعه 27 آبان 1390, 13:26 عصر
داداش میتونی توی رویداد rowleave دیتاگرید کد update رو بنویسی. تا یک دفعه کل ردیف آپ دیت بشه.
برای درج هم توی رویداد rowadded بنویسی کدت رو، درج انجام میشه.
شما خودت قبلا این کارو کردی؟
من از ابن رخدادهای که شما می گین استفاده کردم ولی درست کار نکردن.
چون در این صورت با انتخاب هر سطری کدهای من اجرا میشن.
اگه شما نمونه برنامه ای در این زمینه دارین ممنون میشم اگه در اختیار من و دوستان قرار بدین.

h-rafiee
جمعه 27 آبان 1390, 20:31 عصر
1-ایندکس ردیف کلیک شده رو اولا ذخیره کن.
2-حال برای ادیت می تونی از دستور زیر استفاده کنی.

this.dataGridView1.Rows[i].Cells[0].Value = "new value";
3-برای حذفش هم از دستور زیر.

dataGridView1.Rows.RemoveAt(i)


توجه: i ایندکس گرفته شده است.

golname1
دوشنبه 28 آذر 1390, 22:25 عصر
سلام
من هم همين مشكلو دارم ، اگه به جوابت رسيدي راهنمايي ام كنيد .
ممنونم.