PDA

View Full Version : مشکل با datagridview و ستون اضافه شده از نوع button



mohsen_zelzela00
شنبه 13 تیر 1388, 11:54 صبح
با سلام خدمت اساتید محترم
من میخوام با توجه به شکل زیر وقتی روی دکمه حذف کلیک کنم اون رکورد حذف بشه
http://barnamenevis.org/forum/attachment.php?attachmentid=32672&d=1246694045

ممنون میشم دوستان کمکم کنن

Mohsen229266
شنبه 13 تیر 1388, 12:24 عصر
سلام دوست من قبلا مطرح شده بود اینم لینک برنامش (http://www.barnamenevis.org/forum/attachment.php?attachmentid=32303&d=1245913698)

mohsen_zelzela00
شنبه 13 تیر 1388, 14:07 عصر
دوستان ممکنه یک کد با توضیح برام بزارید ممنون میشم........

mohsen_zelzela00
شنبه 13 تیر 1388, 18:42 عصر
دوستان کسی کمک نمیکنه؟؟؟؟؟؟؟

Mohsen229266
شنبه 13 تیر 1388, 19:31 عصر
اینم کدش
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
bool focus = false;
if (dataGridView1.Columns[2].Index == e.ColumnIndex)
focus = true;
else
focus = false;

if ( focus == true && !(dataGridView1.CurrentRow.Index == dataGridView1.Rows.Count - 1))
dataGridView1.Rows.RemoveAt(dataGridView1.CurrentR ow.Index);
}
توضیح : متغیر foucus مشخص میکنه که ایا ستون جاری ستون مورد نظر هست یا نه بقیش هم که مشخصه دیگه

Yasersadegh
شنبه 13 تیر 1388, 19:44 عصر
دوست عزيز
اگه ديتاگريدت به ديتابيس متصل باشه خوب به راحتي فقط ركورد مورد نظر رو از ديتابيس حذف مي كني و دوباره اطلاعات رو در ديتا گريد نمايش ميدهيد!!


con1.Open();
com1.Connection = con1;
string cmdstring = "delete from student where snum='" + dataGridView1.CurrentRow.Cells[0].Value + "'";
com1.CommandText = cmdstring;

com1.ExecuteNonQuery();


توضيح اينكه حتما بايد يكي از ستون هاي ديتا گرديت در ديتابيس فيلد كليدي باشه تا از اون برايه حذف ركورد استفاده كني!!
در اين مثال ستون 0 ديتا گريد فيلد كليدي ديتابيس است!!

اما اگر ديتابيسي در كار نيست و فقط ديتاگريد با اطلاعات خام و متفرقه است كه مي تونيد از دستور زير استفاده كنيد!


dataGridView1.Rows.RemoveAt(dataGridView1.CurrentR ow.Index);

اميدوارم كه كمكي كرده باشم!:لبخندساده:
موفق باشيد:چشمک:

mohsen_zelzela00
یک شنبه 14 تیر 1388, 00:03 صبح
دوست عزيز
اگه ديتاگريدت به ديتابيس متصل باشه خوب به راحتي فقط ركورد مورد نظر رو از ديتابيس حذف مي كني و دوباره اطلاعات رو در ديتا گريد نمايش ميدهيد!!


con1.Open();
com1.Connection = con1;
string cmdstring = "delete from student where snum='" + dataGridView1.CurrentRow.Cells[0].Value + "'";
com1.CommandText = cmdstring;

com1.ExecuteNonQuery();


توضيح اينكه حتما بايد يكي از ستون هاي ديتا گرديت در ديتابيس فيلد كليدي باشه تا از اون برايه حذف ركورد استفاده كني!!
در اين مثال ستون 0 ديتا گريد فيلد كليدي ديتابيس است!!

اما اگر ديتابيسي در كار نيست و فقط ديتاگريد با اطلاعات خام و متفرقه است كه مي تونيد از دستور زير استفاده كنيد!


dataGridView1.Rows.RemoveAt(dataGridView1.CurrentR ow.Index);

اميدوارم كه كمكي كرده باشم!:لبخندساده:
موفق باشيد:چشمک:

درسته دوست عزیز ولی اگه به پست1 توجه کنید من گفتم که gride من دارای یک فیلد از نوع button است که می خوام وقتی کاربر روی آن کلیک کنه اون رکورد حذف بشه من با کد حذف مشکل ندارم من با اینکه چطوری تشخیص بدم که کاربر بر روی دکمه حذف کلیک کرده مشکل دارم...............

Mohsen229266
یک شنبه 14 تیر 1388, 09:29 صبح
درسته دوست عزیز ولی اگه به پست1 توجه کنید من گفتم که gride من دارای یک فیلد از نوع button است که می خوام وقتی کاربر روی آن کلیک کنه اون رکورد حذف بشه من با کد حذف مشکل ندارم من با اینکه چطوری تشخیص بدم که کاربر بر روی دکمه حذف کلیک کرده مشکل دارم...............
دوست من من که کدشو گذاشتم مشکل کجاست با کلیک روی دکمه حذف سطر جاریش حذف میشه دیگه اینم برنامش