在select new语句中使用变量作为列名的Linq
我有一个LINQ查询,正如您所看到的,我试图使用变量作为列名在select new语句中使用变量作为列名的Linq,linq,variables,select,Linq,Variables,Select,我有一个LINQ查询,正如您所看到的,我试图使用变量作为列名 string first = "someColumnName1"; string sec = "someColumnName2"; string third = "someColumnName3"; var data = (from i in ctx.PlanskaKalkulacijas where i.PKid.Value == id select new { first = i.
string first = "someColumnName1";
string sec = "someColumnName2";
string third = "someColumnName3";
var data = (from i in ctx.PlanskaKalkulacijas
where i.PKid.Value == id
select new { first = i.NP1, sec = i.NP2, third = i.NP3}
).OrderByDescending(m => m.Id)
.ToList();
这段代码在gridview中生成第一、第二和第三列名称,但我需要一些ColumnName1、一些ColumnName2和一些ColumnName3
有帮助吗?在插入数据后重命名gridview中的列,或者为正确创建的匿名类型的属性命名
var data = (from i in ctx.PlanskaKalkulacijas
where i.PKid.Value == id
select new
{
someColumnName1 = i.NP1,
someColumnName2 = i.NP2,
someColumnName3 = i.NP3
}).OrderByDescending(m => m.Id)
.ToList();
如果在编译时不知道值,只需重命名它。要做到这一点,请按此进行。我怀疑问题作者在编译时实际上并不知道列名@zire-你能澄清一下你在编译时是否知道列名吗?是的,我从db得到的列名和那些名称是不同的。@zire Ok,而不仅仅是重命名标题。再次感谢Ondrej这项工作:受保护的void GridView1_RowDataBound(对象发送方,GridViewRowEventArgs e){if(e.Row.RowType==DataControlRowType.Header){e.Row.Cells[0]。Text=“Date”;}