Hi,
I have problem with this code:
public partial class MainForm : Form
{
// private List companies = new List();
private List companies = new List(); // <============== PROBLEM !!!
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
void MainFormLoad(object sender, EventArgs e)
{
companies.Add(new Company(1, "Company 1", "Address 1", "Email 1"));
companies.Add(new Company(2, "Company 2", "Address 2", "Email 2"));
companies.Add(new Company(3, "Company 3", "Address 3", "Email 3"));
companies.Add(new Company(4, "Company 4", "Address 4", "Email 4"));
companies.Add(new Company(5, "Company 5", "Address 5", "Email 5"));
// bindingNavigator1.BindingSource = bindingSource1;
dataGridView1.DataSource = bindingSource1;
dataGridView1.AutoGenerateColumns = false;
bindingSource1.DataSource = companies;
// bindingSource1.AllowNew = true;
dataGridView1.Columns.Add("CompanyID","ID");
dataGridView1.Columns["CompanyID"].DataPropertyName = "CompanyID";
dataGridView1.Columns.Add("CompanyName","Name");
dataGridView1.Columns["CompanyName"].DataPropertyName = "CompanyName";
dataGridView1.Columns.Add("Address","Address");
dataGridView1.Columns["Address"].DataPropertyName = "Address";
dataGridView1.Columns.Add("EMail","E-Mail");
dataGridView1.Columns["EMail"].DataPropertyName = "EMail";
}
}
public class BaseCompany {}
public class Company : BaseCompany
{
private int companyID;
private string companyName;
private string address;
private string email;
public int CompanyID
{
get { return companyID; }
set { CompanyID = value; }
}
public string CompanyName
{
get { return companyName; }
set { companyName = value; }
}
public string Address
{
get { return address; }
set { address = value; }
}
public string Email
{
get { return email; }
set { email = value; }
}
public Company()
{
companyID = 0;
companyName = string.Empty;
address = string.Empty;
email = string.Empty;
}
public Company(int pID, string pName, string pAddress, string pEmail)
{
companyID = pID;
companyName = pName;
address = pAddress;
email = pEmail;
}
}
When I create field "companies" as List all works fine but when I create it as List DataGridView doesn't show the data.
Why DataGridView doesn't recognize that elemants in the list are actually from type "Company" not from "BaseCompany"?
Loading
Replies
Know the answer? Post it — somebody with the same question will find it here.