IMANAZADI
پنج شنبه 22 مهر 1389, 15:30 عصر
با سلام خدمت دوستان عزیز
یک مشکل خیلی ساده دارم که هر کاری میکنم نمیتونم حلش کنم
دارم رو یه برنامه با بانک اطلاعاتی کار میکنم
میخوام وقتی کاربر روی یکی از ساول های دیتا گرید ویو با کی بورد (اینو مد نظر داشته باشید کی بورد) با کلید های جهتی بالا یا پایین میکنه بعد کلید delete رو میزنه اون سلولی که با کی بورد انتخاب شده از بانک حذف بشه طریقه حذف و مابقی رو میدونم فقط چطوری مقدار سلولی را که کی بورد بالا یا پایین میکنه رو بدست بیارم ؟
این اطلاعاتی که به دیتا گرید ویو میره
ds.Clear ();
da.SelectCommand.CommandText = "select * from xxxx order by ID";
da.Fill (ds , "h");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "h";
این کلید delete
OleDbCommand cmd=new OleDbCommand ("delete from xxxx where ID=@p1" , cnn);
cmd.Parameters.Clear ();
cmd.Parameters.AddWithValue ("@p1" , txt); //سراسری تعریف شده txt //
cnn.Open ();
cmd.ExecuteNonQuery ();
cnn.Close ();
ds.Clear ();
da.SelectCommand.CommandText = "select * from Main order by ID";
da.Fill (ds , "f");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "f";
فقط میمونه تو کدوم رویداد دیتا گرید ویو مقداری سلولی را که کی بورد پیمایش میکنه پیدا کنم
اینو تست میکنم درست جواب میده ولی وقتی delete رو میزنم خطا رخ میده
اینم بگم همین کد در رویداد cell click درست عمل میکنه ولی باید حتما با موس سلول انتخاب بشه
private void dataGridView1_CurrentCellChanged (object sender , EventArgs e)
{
txt=dataGridView1.CurrentRow.Cells ["ID"].Value.ToString ();
}
با تشکر از دوستان عزیز
یک مشکل خیلی ساده دارم که هر کاری میکنم نمیتونم حلش کنم
دارم رو یه برنامه با بانک اطلاعاتی کار میکنم
میخوام وقتی کاربر روی یکی از ساول های دیتا گرید ویو با کی بورد (اینو مد نظر داشته باشید کی بورد) با کلید های جهتی بالا یا پایین میکنه بعد کلید delete رو میزنه اون سلولی که با کی بورد انتخاب شده از بانک حذف بشه طریقه حذف و مابقی رو میدونم فقط چطوری مقدار سلولی را که کی بورد بالا یا پایین میکنه رو بدست بیارم ؟
این اطلاعاتی که به دیتا گرید ویو میره
ds.Clear ();
da.SelectCommand.CommandText = "select * from xxxx order by ID";
da.Fill (ds , "h");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "h";
این کلید delete
OleDbCommand cmd=new OleDbCommand ("delete from xxxx where ID=@p1" , cnn);
cmd.Parameters.Clear ();
cmd.Parameters.AddWithValue ("@p1" , txt); //سراسری تعریف شده txt //
cnn.Open ();
cmd.ExecuteNonQuery ();
cnn.Close ();
ds.Clear ();
da.SelectCommand.CommandText = "select * from Main order by ID";
da.Fill (ds , "f");
dataGridView1.DataSource = ds;
dataGridView1.DataMember = "f";
فقط میمونه تو کدوم رویداد دیتا گرید ویو مقداری سلولی را که کی بورد پیمایش میکنه پیدا کنم
اینو تست میکنم درست جواب میده ولی وقتی delete رو میزنم خطا رخ میده
اینم بگم همین کد در رویداد cell click درست عمل میکنه ولی باید حتما با موس سلول انتخاب بشه
private void dataGridView1_CurrentCellChanged (object sender , EventArgs e)
{
txt=dataGridView1.CurrentRow.Cells ["ID"].Value.ToString ();
}
با تشکر از دوستان عزیز