从示例来看,这看起来应该非常简单,但出于某种原因,我无法从List<>获取数据。填充数据网格视图。我创建了一个包含3个字段的类,创建了一个类列表,并将列表分配给DGV的DataSource属性。
列表中正确填充了信息,DGV显示正确的行数,但所有文本框都是空白的。有人可以告诉我出了什么问题吗?
List<clsCHPChassis> myList = new List<clsCHPChassis>();
clsCHPChassis chassis1 = new clsCHPChassis("Rear Port", "Management", "192.168.1.1");
clsCHPChassis chassis2 = new clsCHPChassis("Front USB", "Local", "10.10.10.1");
myList.Add(chassis1);
myList.Add(chassis2);
dgv.DataSource = myList;
clsCHPChassis
定义:
public class clsCHPChassis
{
public string Site = string.Empty;
public string ChassisName = string.Empty;
public string IP = string.Empty;
public clsCHPChassis(string newSite, string newChassisName, string newIP)
{
Site = newSite;
ChassisName = newChassisName;
IP = newIP;
}
}
答案 0 :(得分:0)
列表本身不足以设置为数据源。您必须同时使用BindingSourse
和 DataTable table = new DataTable("Table");
table.Columns.Add("Site", typeof(string));
table.Columns.Add("ChassisName", typeof(string));
table.Columns.Add("IP", typeof(string));
table.Rows.Add("Rear Port", "Management", "192.168.1.1");
table.Rows.Add("Front USB", "Local", "10.10.10.1");
dgv.DataSource = table;
另一个简单的解决方案是使用DataTable作为DataSourse
SELECT department_manager,customername
FROM customer
Inner Join department
On customer.branch=department.branch
WHERE customer.branch IN ( select branch from department);
答案 1 :(得分:0)
只有公共属性是数据绑定:
public class clsCHPChassis {
public string Site { get; set; }
public string ChassisName { get; set; }
public string IP { get; set; }
}
答案 2 :(得分:0)
Slai能够解决问题。他的回答是,只有类的属性是数据绑定才是解决方案。将3个字段更改为类定义中的属性以修复它的属性!