【发布时间】:2018-10-12 13:51:44
【问题描述】:
我有一个表“员工”,上面有名字、姓氏、出生日期等等。
此表不包含Age 列,但我需要在DataGridView 中计算并显示年龄并带有名称。
像这样:
John 30
Mary 25
问题是当我执行查询时
select FirstName, DATEDIFF(yy, DateOfBirth, GETDATE()) as Age from Empoyee
在 SQL Server 中,我得到了我需要的东西,但是当我尝试填充 DataGridView 时,Age 列显示不正确。
edDataGridView.AutoGenerateColumns = false;
edDataGridView.DataSource = context.Empoyee.SqlQuery("SELECT FirstName, DATEDIFF(yy, DateOfBirth, GETDATE()) as Age from Empoyee").ToList();
请告诉我如何正确执行此操作。也许我应该使用 LINQ?
【问题讨论】:
-
您能否详细说明正在显示的内容以及您认为应该显示的内容?
-
我明白了,显示不正确是因为 AutoGeneratingColumns,然后我将其设置为 false 并且没有显示任何内容。所以我想我需要在DataGridView中添加一些列,但是如何绑定Age列呢?
-
DataGridView 中出现了一些东西——你说它“显示不正确”——但是显示的是什么?怎么错了?
-
您是否创建了DataGridViewColumn 并设置了DataPropertyName?您是否将 DataGridViewColumn 添加到 DataGRidView?
-
@ХарламовДаниил 你说当你设置
AutoGeneratingColumns = true时它有效。除非有理由将其设置为false,否则将其保留在true,一切都很好。没问题,没问题
标签: c# sql-server entity-framework linq