PDA

View Full Version : مشکل در حذف سلول دیتاگردید!!



eletcomp
دوشنبه 07 بهمن 1392, 00:08 صبح
با سلام
من میخوام زمانی که دکمه ی del را از کیبرد زدم یک پیغام بده که ایا مایل به حذف هستید و بعد از تایید رکورد از دیتابیس حذف بشود!! در جستجو در سایت به چند تایپیک برخورد کردم و کدهایی را پیدا کردم ولی هیچ کدام از دیتابیس حذف نمی کنند!!! لطفا راهنمایی کنید!
کد پروژه را هم برای بررسی دوستان می گذارم!!

این کد به صورت سطحی اطلاعات را از دیتاگرید حذف میکنه!!ولی اطلاعات را از دیتابیس حذف نمیکنه!!



private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{

if (e.KeyCode != Keys.Delete) // To ignore if key pressed was not Delete
return;

DataGridViewSelectedRowCollection selectedCollection = //To Give Selected rows by user
dataGridView1.SelectedRows;

if (selectedCollection.Count == 0) //To ignore if user did not select any row
return;

if (MessageBox.Show("Are you sure you want to remove?", "Row deletion", MessageBoxButtons.YesNo) == DialogResult.No)
{
dataGridView1.AllowUserToDeleteRows = false;// To cancel row deletion if user did not accept
return;
}

dataGridView1.AllowUserToDeleteRows = true; // To enable user to delete row

foreach (DataGridViewRow row in selectedCollection) // To iterating an removing selected rows by user
dataGridView1.Rows.Remove(row);



}




این کد هم فقط دکمه ی del را فراخوانی میکنه!!!


private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete)
MessageBox.Show("Delete key is pressed");
}



http://barnamenevis.org/attachment.php?attachmentid=115948&d=1390733109

دلتنگ اسمان
دوشنبه 07 بهمن 1392, 04:24 صبح
سلام
زیر همون کدهایی که از دیتاگرید حذف میکنی باید کدهای حذف از بانک رو هم اضافه کنی.

ژیار رحیمی
دوشنبه 07 بهمن 1392, 04:27 صبح
سلام این کدو تست کنید ببین جواب میگیرید

private void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
if (dataGridView1.RowCount > 0 && e.KeyCode== Keys.Delete)
if (MessageBox.Show("Are you sure you want to remove?", "Row deletion",
MessageBoxButtons.YesNo) == DialogResult.Yes)
{
btndel_Click(sender, e);
}
}

مهرداد صفا
دوشنبه 07 بهمن 1392, 07:54 صبح
سلام.
اگر DataGrid بایند شده اند جدول مربوطه را update کنید و در غیر این صورت کد زیر را به ازای هر ردیف انتخاب شده روی پایگاه داده اجرا کنید:



command.CommandText = "delete from table1 where id = "+ row["id"].Value.ToString();

danialafshari
دوشنبه 07 بهمن 1392, 08:49 صبح
سلام
با عرض پوزش از مهرداد صفا (http://barnamenevis.org/member.php?261217-%D9%85%D9%87%D8%B1%D8%AF%D8%A7%D8%AF-%D8%B5%D9%81%D8%A7).
eletcomp (http://barnamenevis.org/member.php?309028-eletcomp) چندین بار خدمتتون عرض کردم که تاپیک شما تکراریه و لینک هم دادم
می تونید از کدی هم که اینجا قرار دادن استفاده کنید، + پروژه دانشجویی هم هست و ....
در ضمن اگر مشکلتون با حذف رکورد از دیتابیس هست سرتاسر سایت نمونه برنامه و آموزش های کار با بانک و عملیات add,del,update,... وجود داره که می تونید پیدا کنید
موفق باشید