PDA

View Full Version : رفرش شدن datagridview بلافاصله بعد از حذف یک سطر از لیست



jaboli
دوشنبه 05 مرداد 1394, 17:05 عصر
سلام.من یه کد حذف نوشتم که وقتی روی دکمه اش کلیک میکنم یک سطر از اطلاعات پاک میشه ولی همون لحظه نشون نمیده باید دوباره صفحه رو لود کنم تا نشون بده که حذف شده
چیکار کنم که بلافاصله بعد از زدن دکمه حذف توی کریدویوو نشون بده که حذف شده و همون لحظه خودش رفرش بشه؟!
من این کد رو نشوتم ولی انجام نمیشه


private void button2_Click(object sender, EventArgs e)
{
this.reserveTableAdapter.DeleteReserve(Convert.ToI nt32(textBox2.Text));
dataGridView1.Refresh();
}

hadimtn
دوشنبه 05 مرداد 1394, 17:18 عصر
سلام.
DataSource مربوط به dataGridView رو میگیرین و دوباره DataSource گرفته شده رو بهش اختصاص میدین!

object ds = dataGridView1.DataSource;
dataGridView1.DataSource = null;
dataGridView1.DataSource = ds;

یا اگه از LINQ استفاده کنین:

dataGridView1.DataSource = db.YOURTABLE;

jaboli
دوشنبه 05 مرداد 1394, 17:46 عصر
سلام.
DataSource مربوط به dataGridView رو میگیرین و دوباره DataSource گرفته شده رو بهش اختصاص میدین!

object ds = dataGridView1.DataSource;
dataGridView1.DataSource = null;
dataGridView1.DataSource = ds;

یا اگه از LINQ استفاده کنین:

dataGridView1.DataSource = db.YOURTABLE;
کد اول که کار نکرد کد دوم هم قسمت بعد مساوی رو نفهمیدم

davidrobert
دوشنبه 05 مرداد 1394, 18:20 عصر
سلام.من یه کد حذف نوشتم که وقتی روی دکمه اش کلیک میکنم یک سطر از اطلاعات پاک میشه ولی همون لحظه نشون نمیده باید دوباره صفحه رو لود کنم تا نشون بده که حذف شده
چیکار کنم که بلافاصله بعد از زدن دکمه حذف توی کریدویوو نشون بده که حذف شده و همون لحظه خودش رفرش بشه؟!
من این کد رو نشوتم ولی انجام نمیشه


private void button2_Click(object sender, EventArgs e)
{
this.reserveTableAdapter.DeleteReserve(Convert.ToI nt32(textBox2.Text));
dataGridView1.Refresh();
}


آقا جواد لازم نیست بنویسی dataGridView1.Refresh();شما تنها کاری که باید انجام بدید این هستش که کد نمایش رو اگه در فرم لود نوشتید در دستور بعد حذف این رو بنویسید.
form1_load(null,nuul);
این بنویسید دستور فرم لود شما اجرا میشه همون دقیقه اطلاعات دیتاگرید ویو به روز میشه و اطلاعات شو رو نشان میده حذف شده.

jaboli
دوشنبه 05 مرداد 1394, 18:29 عصر
آقا جواد لازم نیست بنویسی dataGridView1.Refresh();شما تنها کاری که باید انجام بدید این هستش که کد نمایش رو اگه در فرم لود نوشتید در دستور بعد حذف این رو بنویسید.
form1_load(null,nuul);
این بنویسید دستور فرم لود شما اجرا میشه همون دقیقه اطلاعات دیتاگرید ویو به روز میشه و اطلاعات شو رو نشان میده حذف شده.
مرسی واقعا عالی بود

hadimtn
دوشنبه 05 مرداد 1394, 18:56 عصر
this.DataSet.Clear();
this.TableAdapter.Fill(this.DataSet.reserveTable);
((BindingSource)dataGridView1.DataSource).ResetBin dings(false);