چگونگی ایجاد یک property ه Data source برای یک Mdi children form؟
سلام
راستش یه برنامه دارم می نویسم که فرم اصلیم دارای چند تا children form ه الان لازم شده که هرکدوم از این فرمها یه خاصیت از نوع Data source مثل data grid داشته باشن یکی از راههایی که استفاده کردم اینه که من یه فرم درست کردم و یه data grid بهش اضافه کردم حالا می خوام اون فرمم همون خاصیت data source مربوط به data grid رو داشته باشه
نقل قول: چگونگی ایجاد یک property ه Data source برای یک Mdi children form؟
نقل قول:
نوشته شده توسط
Directx
سلام
راستش یه برنامه دارم می نویسم که فرم اصلیم دارای چند تا children form ه الان لازم شده که هرکدوم از این فرمها یه خاصیت از نوع Data source مثل data grid داشته باشن یکی از راههایی که استفاده کردم اینه که من یه فرم درست کردم و یه data grid بهش اضافه کردم حالا می خوام اون فرمم همون خاصیت data source مربوط به data grid رو داشته باشه
درست متوجه منظورت نشدم ولی برای این که همه فرمهایی که داری خاصیتهای یکسانی داشته باشند از ارثبری استفاده کن اگر منظورت این نبوده بیشتر توضیح بده موفق باشی./
نقل قول: چگونگی ایجاد یک property ه Data source برای یک Mdi children form؟
نه خیر دوست عزیز شما فرم رو مثل یه user control در نظر بگیرید که یه property داره به اسم data source احتمالا متوجه شدی منظورم چیه
تشکر
نقل قول: چگونگی ایجاد یک property ه Data source برای یک Mdi children form؟
کسی نیست بعد دو روز جواب ما رو بده
نقل قول: چگونگی ایجاد یک property ه Data source برای یک Mdi children form؟
دوست عزیز، شما باید ی کلاس بسازین که قابلیت Datasource بودن رو داشته باشه مثلا از کلکسیون ها استفاده کنین یا از همه بهتر DataTable , DataSet. بعد هر فرمی رو که خواستین دارای این قابلیت باشه باید از اون کلاستون ارث ببره.
public class DataSourceForm:System.Windows.Form
{
private DataTable dt;
public DataTable DataSource
{
get{return dt;}
set{dt=value;}
}
}
و اما هر فرمی که خواستین ارث ببره
بالای فرم که از Form ارث می بره رو به DataSourceForm تغییر بده.
نقل قول: چگونگی ایجاد یک property ه Data source برای یک Mdi children form؟
ببنید دوست عزیز اولا که این کلاسی که شما تعریف کردین و data source داره اونdata sourc ی که من می خوام نیست این فقط data table رو به عنوان source قبول می کنه من می خوام جامع باشه و بشه به همه ی منابع داده ای وصل بشه در ضمن می دونم که این کار تا حدود زیادی عملی نیست و شبیه اینکه بیاییم یه data grid رو از اول بسازیم ولی من خودم گفتم که یه data grid به فرم اضافه کردم و می خوام که فرم یه property داشته باشه که در اصل همون property ه data grid باشه در ضمن این راه هم می دونم که میشه grid و عمومی تعریف کنیم که بشه به راحتی بهش درسترسی پیدا کرد ولی من می خوام که کلاس کاملا ایزوله باشه و نشه به غیر از data sourcce به خاصیت دیگه ای از grid دست پیدا کرد دوستا دیگه باید متوجه شده باشند
تشکر
نقل قول: چگونگی ایجاد یک property ه Data source برای یک Mdi children form؟
خوب شما می تونین یه کار دیگه بکنین : اون پروپرتی بالا که من از نوع DataTable در نظر گرفته ام رو شما object در نظر بگیر. این طوری مشکل شما حل میشه.
public class DataSourceForm:System.Windows.Form
{
private object dt;
public object DataSource
{
get{return dt;}
set{dt=value;}
}
}
در ضمن می تونین با کیورد is نوع object رو هم در بیارین. البته نیاز به type Casting هم احتمالا نداشته باشین چون پروپرتی DataSource برای DataGrid خودش object هست و typeCasting رو خودش انجام میده اگه جواب نداد خودت زحمت typeCasting رو بکش :
if(value is DataTable)
{
DataGrid1.DataSource=value as DataTable;
}
else if(value is DataSet)
{
DataGrid1.DataSource=value as DataSet;
}
این دوتا رو امتحان کن حتما جواب میده. موفق باشین.