PDA

View Full Version : آموزش: کد Refresh کردن DataGridView



mahdi_armed
چهارشنبه 18 بهمن 1391, 19:27 عصر
سلام
من توی یه قسمتی DataGrid رو ویرایش کردم حالا نمیخوام برنامه رو بببندم و دوباره اجرا کنم تا تغییرات اعمال بشه

کدی هست که بشه بعد از ثبت تغییرات , فیلدها رو Refresh کرد ؟

rezaei_y
چهارشنبه 18 بهمن 1391, 20:37 عصر
سلام
شما نیاز به یک تابع دارید که با فراخوانی اون اطلاعات رو در گرید ویو نمایش بده

کافی پس از هربار تغییر دوباره همون تابع رو فراخوانی کنی

FreeMagic
چهارشنبه 18 بهمن 1391, 20:40 عصر
من یه کد توی تابع نوشتم و برای نمایش اون تابع رو فراخوانی کردم.
برای رفرش که دکمه دیگه هست همون تابع رو فراخوانی کردم :لبخند:
و بیشتر مواقع هم داده های datagrid بعد رفرش تغییر میکنه

mahdi_armed
چهارشنبه 18 بهمن 1391, 20:50 عصر
سلام
شما نیاز به یک تابع دارید که با فراخوانی اون اطلاعات رو در گرید ویو نمایش بده

کافی پس از هربار تغییر دوباره همون تابع رو فراخوانی کنی


من یه کد توی تابع نوشتم و برای نمایش اون تابع رو فراخوانی کردم.
برای رفرش که دکمه دیگه هست همون تابع رو فراخوانی کردم :لبخند:
و بیشتر مواقع هم داده های datagrid بعد رفرش تغییر میکنه

میشه بیشتر توضیح بدید ؟
توی تابع باید چی نوشته باشم ؟

ordebehesht
چهارشنبه 18 بهمن 1391, 20:56 عصر
من جواب دوستان رو دیدم ولی مکفی نبود واسه همین با کسب اجازه دوستان یه مقدار بیشتر توضیح میدم
ببین شما وقتی داری جداول رو بایند میکنی به گرید ویو میتونی برای رفرش کردن مجدد بایند کنی البت باید بایند قبلی رو از بین ببری و یا یه دیتاتیبل رو بسازی از دادها و اونو بایند کنی به گرید ویو اون دیتاتیبل رو حذف کنی بسازی که نسبت به راه قبلی بهتره امیدوارم متوجه شده بباشی

mahdi_armed
چهارشنبه 18 بهمن 1391, 21:02 عصر
من جواب دوستان رو دیدم ولی مکفی نبود واسه همین با کسب اجازه دوستان یه مقدار بیشتر توضیح میدم
ببین شما وقتی داری جداول رو بایند میکنی به گرید ویو میتونی برای رفرش کردن مجدد بایند کنی البت باید بایند قبلی رو از بین ببری و یا یه دیتاتیبل رو بسازی از دادها و اونو بایند کنی به گرید ویو اون دیتاتیبل رو حذف کنی بسازی که نسبت به راه قبلی بهتره امیدوارم متوجه شده بباشی

من datagrid رو به روش ویزارد به DataBase متصل کردم
خیلی ساده تر از این چیزی بود که گفتی
الان من واقعا هیچی از این راهکاری که گفتی متوجه نشدم

ordebehesht
چهارشنبه 18 بهمن 1391, 21:36 عصر
من فکر کردم کد نوشتین نه به ویزارد اونقدی اطلاع ندارم

mahdi_armed
چهارشنبه 18 بهمن 1391, 21:57 عصر
خب یعنی اگه کسی به صورت ویزارد یه گریدویو رو به دیتابیس متصل کنه , دیگه نمیتونه عمل refresh رو انجام بده ؟

ordebehesht
چهارشنبه 18 بهمن 1391, 22:12 عصر
چرا نتونی ببین این کد بدردت میخوره
pDataGridView.Refresh();
پیداش کردم

ordebehesht
چهارشنبه 18 بهمن 1391, 22:14 عصر
یا این میشه به نظرت نه که آشنایی ندارم میگردم منطقی باشخ ارائه میکنم

this.pDataGridView.DataSource = null();
this.pDataGridView.DataBind();
this.pDataGridView.DataSource = this.pBindingSource;
pDataGridView.DataBind();

ma.rad
چهارشنبه 18 بهمن 1391, 22:18 عصر
اگر ویزاردی پرش می کنی یعنی :

private void testGrid_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'gridTestDataSet.Emp' table. You can move, or remove it, as needed.
this.empTableAdapter.Fill(this.gridTestDataSet.Emp );
}


بعد از کد های Insert ,Update, و... این رو بنویس:

this.empTableAdapter.Update(gridTestDataSet.Emp);
dataGridView1.Refresh();

Mahmoud.Afrad
چهارشنبه 18 بهمن 1391, 22:50 عصر
از طریق Adapter هم میتونید این کار رو انجام بدید(تاکید میکنم متد Fill مربوط به Adapter مد نظرم هست نه متد Fill مربوط به tblTableAdapter):
this.tblTableAdapter.Adapter.Fill(this.dataSet1);

reza_ali202000
پنج شنبه 19 بهمن 1391, 05:31 صبح
برو هرچی توی فرم لودد نوشته بعد از اون کاری که میخای انجام بدی کپی کن!:بامزه:

mahdi_armed
شنبه 21 بهمن 1391, 02:20 صبح
اگر ویزاردی پرش می کنی یعنی :

private void testGrid_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'gridTestDataSet.Emp' table. You can move, or remove it, as needed.
this.empTableAdapter.Fill(this.gridTestDataSet.Emp );
}


بعد از کد های Insert ,Update, و... این رو بنویس:

this.empTableAdapter.Update(gridTestDataSet.Emp);
dataGridView1.Refresh();

کدتون یه کم پیچیده شد من سر در نیاوردم
نمیتونستم DataSet رو emp کنم . متدش وجود نداشت

mahdi_armed
شنبه 21 بهمن 1391, 02:21 صبح
از طریق Adapter هم میتونید این کار رو انجام بدید(تاکید میکنم متد Fill مربوط به Adapter مد نظرم هست نه متد Fill مربوط به tblTableAdapter):
this.tblTableAdapter.Adapter.Fill(this.dataSet1);
ممنون دوست عزیزم
با این دستور کارم راه افتاد