DataGridView 为列表对象中的列表添加多行
DataGridView Add Multiple Rows for List in List Object
我有两个类Employee
和Department
如下
class Employee
{
public string ID {get;set;}
public string Name {get;set;}
public List<Departments> AssociatedDepartment {get;set;}
}
class Department
{
public string DepartmentID {get;set;}
public string DepartmentName {get;set;}
}
我正在绑定 DataGridView
和 List<Employee>
。它显示的是 Employees
但不是 Department
的员工列表。
List<Employee> employeeList = GetEmployeeList();
if (employeeList != null)
{
grdResponse.DataSource = employeeList;
}
现在显示以下数据。
ID Name
---------
1 Joe
2 Tim
我应该怎么做才能获得关注?
ID Name Department
--------------------
1 Joe Software
1 Joe Management
2 Tim Hardware
您可以使用 get-only 属性 扩展 Employee
class(该列将是只读的)
class Employee
{
public string ID { get; set; }
public string Name { get; set; }
public string Departments
{
get
{
if (AssociatedDepartment == null || AssociatedDepartment.Count == 0)
return string.Empty;
return string.Join(", ", AssociatedDepartment.Select(d => d.DepartmentName));
}
}
public List<Department> AssociatedDepartment { get; set; }
}
在员工中添加以下内容属性:
public string Department
{
get
{
string departments = string.Empty;
foreach (Department department in AssociatedDepartment)
{
if (departments.Length != 0)
departments += ", ";
departments += department.DepartmentName;
}
return departments;
}
}
我有两个类Employee
和Department
如下
class Employee
{
public string ID {get;set;}
public string Name {get;set;}
public List<Departments> AssociatedDepartment {get;set;}
}
class Department
{
public string DepartmentID {get;set;}
public string DepartmentName {get;set;}
}
我正在绑定 DataGridView
和 List<Employee>
。它显示的是 Employees
但不是 Department
的员工列表。
List<Employee> employeeList = GetEmployeeList();
if (employeeList != null)
{
grdResponse.DataSource = employeeList;
}
现在显示以下数据。
ID Name
---------
1 Joe
2 Tim
我应该怎么做才能获得关注?
ID Name Department
--------------------
1 Joe Software
1 Joe Management
2 Tim Hardware
您可以使用 get-only 属性 扩展 Employee
class(该列将是只读的)
class Employee
{
public string ID { get; set; }
public string Name { get; set; }
public string Departments
{
get
{
if (AssociatedDepartment == null || AssociatedDepartment.Count == 0)
return string.Empty;
return string.Join(", ", AssociatedDepartment.Select(d => d.DepartmentName));
}
}
public List<Department> AssociatedDepartment { get; set; }
}
在员工中添加以下内容属性:
public string Department
{
get
{
string departments = string.Empty;
foreach (Department department in AssociatedDepartment)
{
if (departments.Length != 0)
departments += ", ";
departments += department.DepartmentName;
}
return departments;
}
}