PDA

View Full Version : سوال: حذف سطر یا سطرهای انتخابی گریدویو از گرید ویو و پایگاه داده SQL



sajadzare
چهارشنبه 02 مرداد 1392, 23:01 عصر
سلام

من جستجو کردم ولی جوابهایی که دیدم فقط از گریدویو پاک میکنه از جدول اصلی پاک نمیشه.

من میخوام که از جدول هم پاک بشه

این از کانکشن های من



SqlConnection objconn = new SqlConnection();
objconn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True";
SqlCommand objcomm = new SqlCommand("select raked_code,kelase,shaki,motaham,eteham from parvandeh_tbl order by raked_code", objconn);
objconn.Open();
SqlDataReader myReader = objcomm.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(myReader);
DataView dv = new DataView(dt);
dataGridView1.DataSource = dv;
objconn.Close();

mohammad kafiyan
چهارشنبه 02 مرداد 1392, 23:35 عصر
خوب برادر گل شما داخل datagrid یک ستون اضافه کن و در اون ستونcheckbox ها قرار بده و بعد زمانی که کاربر با انتخاب checkbox مربوط بهرکوردهای سطر به راحتی می تونی با یک foreachحلقه id سطرهای انتخاب شده را در بیاری و بریزی در یک آرایه و سپس با دستور delete با توجه به اون id های موجود در آرایه رکوردهایت را حذف کنی یا نیاز به آرایه نیست تک به تک چک کنی و حذف کنی با همان حلقه foreach و در نهایت datagrid را رفش کنی

sajadzare
چهارشنبه 02 مرداد 1392, 23:42 عصر
احسنت.

کلیات کار رو کامل توضیح دادی. ممنون . ولی مشکل اینه که من همینارو کدشو میخوام که بهم بگی.

sajadzare
پنج شنبه 03 مرداد 1392, 13:44 عصر
لطفا یکی کمک کنه

sohil_ww
پنج شنبه 03 مرداد 1392, 13:49 عصر
داداش گلم 1 سرچ تو تالار بزن همین اخیرا 1 برنامه به همین مضمون آپ کردم 1 سرچ بزن پیدا می کنی

sajadzare
جمعه 04 مرداد 1392, 12:10 عصر
soheil عزیز من فایل شما رو هم دیدم ولی ارور میداد و توی پروژه خودتونم مشکل داشت

کسی دیگه نیست بتونه کمک کنه . من کل سایت رو زیر و رو کردم به جواب درستی نرسیدم. لطفا با این کدی که من گذاشتم بنویسین تا بتونم توی برنامه م ازش استفاده کنم

kazem235
جمعه 04 مرداد 1392, 13:02 عصر
soheil عزیز من فایل شما رو هم دیدم ولی ارور میداد و توی پروژه خودتونم مشکل داشت

کسی دیگه نیست بتونه کمک کنه . من کل سایت رو زیر و رو کردم به جواب درستی نرسیدم. لطفا با این کدی که من گذاشتم بنویسین تا بتونم توی برنامه م ازش استفاده کنم

منظورت اینه که می خوای هر سطری که توی دیتا گرید انتخاب بشه همونو حذف کنی؟

omidrayaneh.68
جمعه 04 مرداد 1392, 13:05 عصر
سلام دوست عزیز کارهایی که میگم به دقت انجام بده تو قسمت gridview-colums را باز کن یک colums به نام حذف درست کن و نام هدر و تکس را کلمه ی حذف بزار
بعد تو cell click گرید ویوتون کد زیر را بزن موفق باشید :بوس:
if (DG_forosh.CurrentCell.Value.ToString() == "حذف")
{

s = Convert.ToString(DG_forosh.CurrentRow.Cells["شماره"].Value);
if (MessageBox.Show("آیا می خواهید اطللاعات حذف شود", "اخطار", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
{

SqlCommand cmd = new SqlCommand("delete from table1 where id='" + s + "'", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("اطلاعات حذف شد", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Warning);

ds.Clear();
da.SelectCommand.CommandText = "select id as [شماره] from table1";
da.Fill(ds, "t01");
DG_forosh.DataSource = ds;
DG_forosh.DataMember = "t01";

kazem235
جمعه 04 مرداد 1392, 13:24 عصر
اگه منظورت اینه که می خوای هر سطری که توی دیتا گرید انتخاب بشه همونو حذف کنی از این نمونه استفاده کن.

rayson
دوشنبه 14 مرداد 1392, 17:04 عصر
سلام دوستان.
من اطلاعات دیتاگرید را به روش زیر حذف میکنم ، زمانی که داده ای درون دیتاگرید نیست دکمه حذف را میزنم برنامه خطا میده .
به چه صورت میتونم این خطا را بر طرف کنم ؟
با تشکر.

string myindex;
myindex = Convert.ToString(dgv_group.CurrentRow.Cells["id_group_employ"].Value);


if (MessageBox.Show("آیا می خواهید اطللاعات حذف شود", "اخطار", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\data computer.org\Documents\Visual Studio 2010\Projects\SNM\SNM\sm.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
SqlCommand com = new SqlCommand();
com.CommandText = "DELETE From group_employ Where id_group_employ='" + myindex + "'";
com.Connection = con;
con.Open();
com.ExecuteNonQuery();
con.Close();
refresh_dgv_group();
}

khokhan
دوشنبه 14 مرداد 1392, 17:21 عصر
لطفا یکی کمک کنه

حذف با چک باکس در گرید

List<int> rowsToDelete = new List<int>();
using (SqlConnection conn = new SqlConnection("connString"))
{
using (SqlCommand cmd = new SqlCommand())
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
DataGridViewCheckBoxCell checkBox = dataGridView1[0, row.Index] as DataGridViewCheckBoxCell;
if (checkBox != null)
{
if (Convert.ToBoolean(checkBox.Value) == true)//checking if tick is added
{

cmd.CommandText = @"DELETE FROM Stock WHERE ID = @myID";
cmd.Parameters.Add("@myID", SqlDbType.Int).Value = Convert.ToInt32(dataGridView1[1, row.Index].Value.ToString());
cmd.ExecuteNonQuery();


rowsToDelete.Add(row.Index);
}
}
}
}
}

//حذف از دیتاگرید
foreach (int row in rowsToDelete)
dataGridView1.Rows.RemoveAt(row);