1.给有【DisplayColumns】和【ColumnNameAlias】属性的Grid添加数据并设置列头
this.winGridView1.DisplayColumns = CallerFactory<IMachineListService>.Instance.GetDisplayColumns();
this.winGridView1.ColumnNameAlias = CallerFactory<IMachineListService>.Instance.GetColumnNameAlias();
//获取查询字符串
string where = GetConditionSql();
//数据绑定
this.winGridView1.DataSource = CallerFactory<IMachineListService>.Instance.GetMachineListInfos(where);
public override Dictionary<string, string> GetColumnNameAlias()
{
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("Guid", "标识");
dict.Add("Machcode", "设备编号");
dict.Add("Machname", "设备名称");
dict.Add("Machtype", "设备类型");
dict.Add("Location", "设备位置");
dict.Add("Status", "设备状态");
dict.Add("Createdate", "创建时间");
return dict;
}
public override string GetDisplayColumns()
{
return "Machname,Machtype,Location,Status";
}
2.给DataGridView添加数据并设置列头
DataGridView先拿到获取的数据list是一个List类型,但是select来的数据如果我们未经处理的话可能有我们不需要的字段,这时候我们可以在new一个DataTable来装我们需要显示的数据,这里要用到遍历,具体实现如下:
foreach (var i in list)
{
DataRow dRow = dTable.NewRow();
dRow["设备名称"] = i.Machname;
dRow["设备类型"] = i.Machtype;
dRow["区域"] = i.Location;
dRow["状态"] = i.Status;
dTable.Rows.Add(dRow);
}
//给表格加载数据
this.dataGridView1.DataSource = dTable;
//设置列宽
dataGridView1.Columns[0].Width = 90;
dataGridView1.Columns[1].Width = 90;
dataGridView1.Columns[2].Width = 90;
dataGridView1.Columns[3].Width = 67;
网友评论