美文网首页
【WinForm】给各种不同Grid添加数据并设置列头

【WinForm】给各种不同Grid添加数据并设置列头

作者: 池子翔 | 来源:发表于2019-09-25 10:05 被阅读0次

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;

相关文章

网友评论

      本文标题:【WinForm】给各种不同Grid添加数据并设置列头

      本文链接:https://www.haomeiwen.com/subject/hbyiuctx.html