【问题标题】:How to set DataGridView column header through a linq query?如何通过 linq 查询设置 DataGridView 列标题?
【发布时间】:2018-02-20 06:00:43
【问题描述】:
我有一个用于车辆详细信息的 sql 数据库。我想在 datagridview 控件上显示 linq 查询的某些字段,该控件具有不同的列标题以及数据库字段名称以外的空格。我尝试如下,但它给出了一个错误。我该怎么做呢?。谢谢各位。
var vlist = from lst in dc.tblVhcleInfos
select new {"Registration Number"= lst.RegNo, "Make and Model"=lst.makeModel, "Year of Manufacture"=lst.YOM};
dataGridView1.DataSource = vlist;
【问题讨论】:
标签:
c#
sql
database
linq
datagridview
【解决方案1】:
您不能为动态 LINQ 类设置自定义名称,首先声明类,将 DisplayName 属性添加到属性,像这样
// Define new Class
public class VhcleInfo
{
[DisplayName("Registration Number")
public string RegNo { get; set; }
[DisplayName("Make and Model")
public string MakeModel {get; set; }
[DisplayName("Year of Manufacture")
public int Year { get; set; }
}
// Create IEnum for Defined Class
var vlist = from lst in dc.tblVhcleInfos
select new VhcleInfo() { RegNo = lst.RegNo, MakeModel = lst.makeModel, Year = lst.YOM };
// Set Data Source
dataGridView1.DataSource = vlist;