PDA

View Full Version : حذف از دیتاگرید



raziyehbazargan
پنج شنبه 01 مرداد 1388, 10:15 صبح
سلام ...پروژه من پذیرش بیمارستان با زبان سی شارپ

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

Reza_Yarahmadi
پنج شنبه 01 مرداد 1388, 10:58 صبح
اگه گرید رو با کد به بانک وصل کردی میتونی بصورت زیر عمل کنی
توی کد زیر فرض شده ستون اول کلید برای حذف کردنه

if (dataGridView1.CurrentRow.Selected)
{
string KeyForDelete = dataGridView1.CurrentRow.Cells[0].Value.ToString();
SqlCommand = new SqlCommand();
SqlConnection Con = new SqlConnection();
//...
//Command for delete , Key for delete is 'KeyForDelete'
//...
dataGridView1.Rows.Remove(dataGridView1.CurrentRow );
}

ولی اگه به صورت ویزاردی گرید رو به بانک وصل کردی کافیه کد زیر رو بنویسی

this.Validate();
this.tempSellingBindingSource.EndEdit();
this.tableAdapterManager1.UpdateAll(this.dS);

raziyehbazargan
پنج شنبه 01 مرداد 1388, 12:09 عصر
اگه گرید رو با کد به بانک وصل کردی میتونی بصورت زیر عمل کنی
توی کد زیر فرض شده ستون اول کلید برای حذف کردنه

if (dataGridView1.CurrentRow.Selected)
{
string KeyForDelete = dataGridView1.CurrentRow.Cells[0].Value.ToString();
SqlCommand = new SqlCommand();
SqlConnection Con = new SqlConnection();
//...
//Command for delete , Key for delete is 'KeyForDelete'
//...
dataGridView1.Rows.Remove(dataGridView1.CurrentRow );
}

ولی اگه به صورت ویزاردی گرید رو به بانک وصل کردی کافیه کد زیر رو بنویسی

this.Validate();
this.tempSellingBindingSource.EndEdit();
this.tableAdapterManager1.UpdateAll(this.dS);


مرسی ....
فقط تو مدوم رویداد datagrid باید این کد و بنویسم؟

asefy2008
پنج شنبه 01 مرداد 1388, 12:56 عصر
سلام دوست من این کد هم بدنیست :



TableAdapter.Delete();


داخل پرانتز تک تک فیلد های مورد نظر رو با استفاده از کد زیر قرار بده:



DataGridView.CurrentRow.Cells[0].Value.ToString();


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

Reza_Yarahmadi
پنج شنبه 01 مرداد 1388, 16:22 عصر
فقط تو مدوم رویداد datagrid باید این کد و بنویسم؟
خودتون گفتید توی رویداد کلیک یه باتن میخواید بنویسید. این کد رو میتونید توی همون رویداد استفاده کنید.

R_Rajaee_Rad
پنج شنبه 01 مرداد 1388, 17:19 عصر
دوستان برای اضافه کردن-ویرایش باید چه کدی نوشت؟

asefy2008
پنج شنبه 01 مرداد 1388, 19:44 عصر
سلام دوست من این جواب شماست:
برای اضافه کردن:




SqlConnection ObjConnection = new SqlConnection

("DataSource=Localhost;InitialCatalog=Sample;Integra tedSecu
rity=True");

SqlCommand ObjCommand=new SqlCommand("Insert
into Table1(ID)Values(@ID)",ObjConnection);
ObjCommand.Parameters.AddWithValue("@ID",txtID.Text);
ObjConnection.Open();
ObjCommand.ExecuteNonQuery();
ObjConnection.Close();
Fill();



برای ویرایش:



SqlConnection ObjConnection = new

SqlConnection("Data Source=Localhost;Initial
Catalog=Sample;Integrated Security=True");

SqlCommand ObjCommand = new SqlCommand("Update
Table1 Set ID=@ID Where Name=@Name;", ObjConnection);
ObjCommand.Parameters.AddWithValue("@ID",
txtID.Text);
ObjCommand.Parameters.AddWithValue("@Name",
txtName.Text);
ObjConnection.Open();
ObjCommand.ExecuteNonQuery();
ObjConnection.Close();
Fill();


اینم :



public void Fill()
{

SqlConnection ObjConnection = new

SqlConnection("Data Source=Localhost;Initial
Catalog=Sample;Integrated Security=True");

SqlDataAdapter ObjDataAdapter=new

SqlDataAdapter("Select * From Table1", ObjConnection);

DataSet ObjDataSet = new DataSet();
ObjConnection.Open();
ObjDataAdapter.Fill(ObjDataSet, "Table1");
ObjConnection.Close();
grdTable1.AutoGenerateColumns = true;
grdTable1.DataSource = ObjDataSet;
grdTable1.DataMember = "Table1";
ObjDataAdapter = null;
ObjConnection = null;
}

raziyehbazargan
شنبه 03 مرداد 1388, 08:00 صبح
مرسی از همه بجه ها...

یه سوال دیگه هم دارم و اون اینه که جه طور می تونم در دیتاگرید با وارد کردن اطلاعات در یکی از سلول ها ، داده اون سلول رو در جدول مربوطه ذخیره کنم؟

Reza_Yarahmadi
شنبه 03 مرداد 1388, 11:22 صبح
یه سوال دیگه هم دارم و اون اینه که جه طور می تونم در دیتاگرید با وارد کردن اطلاعات در یکی از سلول ها ، داده اون سلول رو در جدول مربوطه ذخیره کنم؟
اگر طریقه اتصال به بانکتون و پر کردن گرید رو بگید بهتر میشه کمک کرد. چون برای کار با بانک راه های زیادی وجود داره.

raziyehbazargan
یک شنبه 04 مرداد 1388, 09:34 صبح
مرسی ....
فقط تو مدوم رویداد datagrid باید این کد و بنویسم؟

من خاصیت currentRow رو ندارم ؟؟؟از چی می تونم به جای اون استفاده کنم؟

raziyehbazargan
یک شنبه 04 مرداد 1388, 09:39 صبح
اگر طریقه اتصال به بانکتون و پر کردن گرید رو بگید بهتر میشه کمک کرد. چون برای کار با بانک راه های زیادی وجود داره.

برای اتصال به بانک و گرید از کد استفاده کردم...

Reza_Yarahmadi
یک شنبه 04 مرداد 1388, 11:14 صبح
من خاصیت currentRow رو ندارم ؟؟؟از چی می تونم به جای اون استفاده کنم؟
کامپوننت DataGridView خاصیت CurrentRow رو داره احتمالا شما از کامپوننتی مثل DataGrid یا چیزی غیر از DataGridView استفاده میکنید.

mkmostafa
یک شنبه 24 آذر 1392, 19:17 عصر
کامپوننت DataGridView خاصیت CurrentRow رو داره احتمالا شما از کامپوننتی مثل DataGrid یا چیزی غیر از DataGridView استفاده میکنید.

بله من از DataGrid استفاده کردم ، حالا با چه کدی حذف کنم سطر رو ؟؟؟
با تشکر