PDA

View Full Version : سوال: حذف اولین سطر به جای سطر انتخاب شده



neda_1367_sh
یک شنبه 22 مرداد 1391, 23:04 عصر
سلام امیدوارم سوالم تکراری نباشه و حذف نشه
من از کد زیر برای حذف سطر انتخاب شده در datgrid استفاده می کنم، اما به جای این که سطر انتخاب شده حذف شه، همیشه اولین سطر حذف میشه.

privatevoid del_Click(object sender, EventArgs e)
{
try
{
DialogResult dlg = MessageBox.Show("آیا آیتم انتخاب شده پاک شود؟", "پاک کردن", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dlg == DialogResult.Yes)
{
csql.Commands("delete from dars where did=" + (long)dataGridView1.CurrentRow.Cells[0].Value);
FrmGDars_Load(sender, e);
}
}
catch { }
}

کدم مشکلی داره؟

veniz2008
یک شنبه 22 مرداد 1391, 23:10 عصر
سلام. از رویداد mouseclick یا mousedobleclick استفاده کن. با انتخاب هر سطر میتونی آیدیش رو بکشی بیرون و بعدش حذفش کنی.

Y_Safaiee
یک شنبه 22 مرداد 1391, 23:15 عصر
با سلام خدمت شما


privatevoid del_Click(object sender, EventArgs e)
{
try
{

int row = dataGridView1.CurrentRow.Index;
DialogResult dlg = MessageBox.Show("آیا آیتم انتخاب شده پاک شود؟", "پاک کردن", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dlg == DialogResult.Yes)
{
csql.Commands("delete from dars where did=" + (long) dataGridView1.Rows[row].Cells[0].Value);
FrmGDars_Load(sender, e);
}
}
catch { }


}




موفق باشین
بایت بایت

neda_1367_sh
یک شنبه 22 مرداد 1391, 23:28 عصر
سلام. از رویداد mouseclick یا mousedobleclick استفاده کن. با انتخاب هر سطر میتونی آیدیش رو بکشی بیرون و بعدش حذفش کنی.
ممنون ولی میخوام بدونم آیا اون کد مشکلی داره؟
چون میخوام از همین روش استفاده کنم؟
یکی از دوستان گفتن اینو به اول کدم اضافه کنم اما جواب نداد.

int row = dataGridView1.CurrentRow.Index;

veniz2008
یک شنبه 22 مرداد 1391, 23:40 عصر
کد حذف که مشکلی نداره فقط یه چیز: این کامند رو کجا اجرا (execute ) میکنی؟

veniz2008
دوشنبه 23 مرداد 1391, 00:28 صبح
مشکل برنامه تون احتمالا بخاطر صدا زدن فرم لود بعد از دستور delete هست. اون کد رو وردارید شاید مشکلتون حل بشه. منظورم این کده:

FrmGDars_Load(sender, e);
موفق باشی.

neda_1367_sh
دوشنبه 23 مرداد 1391, 00:35 صبح
مشکل برنامه تون احتمالا بخاطر صدا زدن فرم لود بعد از دستور delete هست. اون کد رو وردارید شاید مشکلتون حل بشه. منظورم این کده:

FrmGDars_Load(sender, e);
موفق باشی.
form_load برای اینه که وقتی پاک کرد datagrid تو فرم refresh بشه.
اگه برش دارم که نمیشه.
در ضمن مشکل حل شد.ممنونم.

veniz2008
دوشنبه 23 مرداد 1391, 00:51 صبح
form_load برای اینه که وقتی پاک کرد datagrid تو فرم refresh بشه.
اگه برش دارم که نمیشه.
در ضمن مشکل حل شد.ممنونم.
معمولا فرم لود رو بعد از ExecutenonQuery میذارن بصورت زیر:

FrmGDars_Load(null, null);