PDA

View Full Version : سوال: فرستادن نتیجه یک query ( از داخل کلاس ) به DataGridView روی فرم



NeO.TheOne
جمعه 01 دی 1391, 20:51 عصر
سلام , خدا قوت

یک تابع search داخله کلاسم دارم , میخوام نتیجه query که داخل همین تابع نوشتم رو داخل DataGridView روی فرم Search قرار بدم , ولی از داخل کلاس به DataGridView روی فرم search دسترسی ندارم , چیکاری میتونم بکنم ؟

plus
جمعه 01 دی 1391, 21:08 عصر
خوب خود کلاس نیازی نیست به گرید دسترسی داشته باشه.اونجایی که متد کلاس فراخوانی میشه باید دسترسی داشته باشه.
اگه داخل خود فرم جستجو متد رو فراخوانی میکنید که دسترسی به گرید دارید.
اگه از داخل فرم دیگه ای متد کلاس رو فراخوانی میکنید، میتونید یک Property برای فرم جستجو تعریف کنید و از طریق این Property، به DataSource گرید مقدار بدین:

public object DataSource
{
set { this.dataGridView1.DataSource = value;}
}


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

NeO.TheOne
جمعه 01 دی 1391, 21:25 عصر
ممنون
این روشی که گفتی رو انجام دادم درست شد .
همین الان یه روشی به ذهنم رسید انجام دادم درست شد فقط می خوام بدونم در ادمه ی برنامه به مشکل نمیخورم
مقدار بازگشتی تابع رو DataTable کردم و DataTable رو return کردم و اسم تابع رو مساوی با DataGridView.DataSource قرار دادم جواب داد.
به نظرت درسته ؟

plus
جمعه 01 دی 1391, 21:32 عصر
آره، البته لزومی نیست که نوع بازگشتی حتما DataTable باشه اگه object هم باشه میتونی به DataSource گرید نسبت بدی.

NeO.TheOne
جمعه 01 دی 1391, 21:34 عصر
ممنون :لبخندساده: