PDA

View Full Version : امکان ویرایش سطرها در datagrid



heartshunter
جمعه 05 مهر 1387, 21:10 عصر
سلام من می خوام نتایجی که در دیتا گرید نمایش داده شده رو کاربر بتونه ویرایش کنه یا حتی سطر جدیدی رو به اون اضافه کنه
در ضمن بتونه بعدش تغییرات رو در دیتا بیس ذخیره کنه
اگه ممکنه این کار رو با متدهای dataadapter آموزش بدید چون یادمه همچین کاری می شد انجام داد و همچنین یادمه .net برای data grid یه تولبار داشت که کارهای اضافه وحذف و ذخیره سطر رو انجام می داد
من می خوام با این تولبار و متدهای data adapter این کار رو انجام بدم
لطفا کمکم کنید:خجالت:
مرسی:قلب:

Hossein1429
شنبه 06 مهر 1387, 01:43 صبح
اولا حتما برنامه را طوري تنظيم كنيد كه كاربر با كليك روي هر سطر ، اطلاعات رو توي textBox ها مشاهده و در اونجا تغيير بده يا براي افزودن از همون تكست باكسها استفاده كنه

سپس با استفاده از همون connection اي كه داريد (con) به صورت زير عمل كنيد:

افزودن :


SqlCommand cmd = newSqlCommand("insert into Table1 (name, many, Date) values (N'" + textBox1.Text + "', " + textBox2.Text + ",N'" + textBox3.Text + "')", con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();


ويرايش :


SqlCommand cmd = newSqlCommand("update Table1 set name=N'" + textBox1.Text + "', many=" + textBox2.Text + ",date=N'" + textBox3.Text + "' where ID=" + dt.Rows[i]["id"], con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();


حذف :


cmd = newSqlCommand("delete from Table1 where id=" + dt.Rows[i]["id"], con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();


اميدوارم اين كدها بدردتون بخوره.

ببخشيد كه دوما نداشت!!!:قهقهه:

majid325
شنبه 06 مهر 1387, 02:55 صبح
والا تولبارشو من يادم نمياد ولي با اين كد يه كارايي ميتوني بكني:

dt = new DataTable();
this.daO.Fill(this.dt);
this.dataGridViewXDemo.DataSource = dt;


بعد هم يه سرچ راجع به CommandBuilder بكني مسله delete و update غيره حل ميشه.

hana2064
شنبه 06 مهر 1387, 09:22 صبح
این می تونه کمکت کنه


this.oleDbConnection1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = |DataDirectory|\\log.mdb; Persist Security Info = True";
this.oleDbDataAdapter1.SelectCommand = new OleDbCommand("SELECT ID, Field1, Field2 FROM Table1 where field1= @êى§ی", this.oleDbConnection1);
this.oleDbDataAdapter1.Fill(this.dataTable1);
this.dataGridView1.DataSource = dataTable1;
//Initialize UPDATE Command.
this.oleDbDataAdapter1.UpdateCommand = new OleDbCommand("UPDATE Table1 SET Field1 = @field1, Field2 = @field2 WHERE ID = @id", this.oleDbConnection1);
this.oleDbDataAdapter1.UpdateCommand.Parameters.Ad dWithValue("@field1", typeof(string)).SourceColumn = "Field1";
this.oleDbDataAdapter1.UpdateCommand.Parameters.Ad dWithValue("@field2", typeof(string)).SourceColumn = "Field2";
this.oleDbDataAdapter1.UpdateCommand.Parameters.Ad dWithValue("@id", typeof(int)).SourceColumn = "ID";
//Initialize INSERT Command.
this.oleDbDataAdapter1.InsertCommand = new OleDbCommand("INSERT INTO Table1 (Field1, Field2) VALUES (@field1, @field2)", this.oleDbConnection1);
this.oleDbDataAdapter1.InsertCommand.Parameters.Ad dWithValue("@field1", typeof(string)).SourceColumn = "Field1";
this.oleDbDataAdapter1.InsertCommand.Parameters.Ad dWithValue("@field2", typeof(string)).SourceColumn = "Field2";
//Initialize DELETE Command.
this.oleDbDataAdapter1.DeleteCommand = new OleDbCommand("DELETE FROM Table1 WHERE ID = @id", this.oleDbConnection1);
this.oleDbDataAdapter1.DeleteCommand.Parameters.Ad dWithValue("@id", typeof(int)).SourceColumn = "ID";