pooya1072
جمعه 13 اردیبهشت 1392, 21:32 عصر
سلام دوستان
من می خوام یک دیتاگریدویو بسازم که ستون های اون به عنوان مثال یک پروپرتی جدید مثلا به اسم TestProperty داشته باشه . من چیزی رو که در نظر داشتم انجام دادم ولی به مشکل برخوردم . جهت اطلاع بگم که میدونم روش های دیگه ای برای انجام این کار هست . ولی بالاجبار باید از این روش انجام بدم .مراحلی که انجام دادم به شرح زیره :
1- ساخت کلاسی جدید از DatagridviewColumns :
public class MyDatagridviewColumn : DataGridViewColumn
{
string MName;
public string MyNewProperty{
get { return MName; }
set { MName = value; }
}
}
2- ایجاد کلاسی از Datagridview که پروپرتی Columns اون از نوع MyDatagridviewColumns هست :
public class MyDatagriedview : DataGridView
{
MyDatagridviewColumn C1;
DataGridViewColumnCollection CC1;
public new MyDatagridviewColumn Columns {
get { return C1; }
set { C1 = value; }
}
public new DataGridViewColumnCollection Columns {
get { return CC1; }
set { CC1 = value; }
}
public void Initialize()
{
C1 = new MyDatagridviewColumn();
CC1 = new DataGridViewColumnCollection(this);
}
public MyDatagriedview()
{
Initialize();
}
}
3- اضافه کردن این کلاس به فرم :
public class Form1
{
Form1_Load(System.Object sender, System.EventArgs e)
{
MyDatagriedview mdgv = new MyDatagriedview();
mdgv.Columns.Add("c1", "c2");
this.Controls.Add(mdgv);
}
}
مشکل اینه که دیتاگرید ویو به فرم اضافه میشه ولی هیچ ستونی به اون اضافه نمیشه .
اگه ممکنه یک بررسی کنید ببینید مشکل چیه و اصلا این کار به این روش امکان پذیره یا نه ..
با تشکر از دوستان
من می خوام یک دیتاگریدویو بسازم که ستون های اون به عنوان مثال یک پروپرتی جدید مثلا به اسم TestProperty داشته باشه . من چیزی رو که در نظر داشتم انجام دادم ولی به مشکل برخوردم . جهت اطلاع بگم که میدونم روش های دیگه ای برای انجام این کار هست . ولی بالاجبار باید از این روش انجام بدم .مراحلی که انجام دادم به شرح زیره :
1- ساخت کلاسی جدید از DatagridviewColumns :
public class MyDatagridviewColumn : DataGridViewColumn
{
string MName;
public string MyNewProperty{
get { return MName; }
set { MName = value; }
}
}
2- ایجاد کلاسی از Datagridview که پروپرتی Columns اون از نوع MyDatagridviewColumns هست :
public class MyDatagriedview : DataGridView
{
MyDatagridviewColumn C1;
DataGridViewColumnCollection CC1;
public new MyDatagridviewColumn Columns {
get { return C1; }
set { C1 = value; }
}
public new DataGridViewColumnCollection Columns {
get { return CC1; }
set { CC1 = value; }
}
public void Initialize()
{
C1 = new MyDatagridviewColumn();
CC1 = new DataGridViewColumnCollection(this);
}
public MyDatagriedview()
{
Initialize();
}
}
3- اضافه کردن این کلاس به فرم :
public class Form1
{
Form1_Load(System.Object sender, System.EventArgs e)
{
MyDatagriedview mdgv = new MyDatagriedview();
mdgv.Columns.Add("c1", "c2");
this.Controls.Add(mdgv);
}
}
مشکل اینه که دیتاگرید ویو به فرم اضافه میشه ولی هیچ ستونی به اون اضافه نمیشه .
اگه ممکنه یک بررسی کنید ببینید مشکل چیه و اصلا این کار به این روش امکان پذیره یا نه ..
با تشکر از دوستان