C# 在列表中创建自定义linq列名
我们将向GridView返回一个通用列表,然后GridView将自动生成列以显示报告:C# 在列表中创建自定义linq列名,c#,linq,anonymous-types,C#,Linq,Anonymous Types,我们将向GridView返回一个通用列表,然后GridView将自动生成列以显示报告: //Generate List List<Stock> allStock = blStock_Collection.getAll(); //export custom view for report datagrid return (from myStock in allStock select new { myStock.Category
//Generate List
List<Stock> allStock = blStock_Collection.getAll();
//export custom view for report datagrid
return (from myStock in allStock
select new
{
myStock.Category,
myStock.Description,
myLowStock.UnitPrice,
myLowStock.CurrentQuantity
});
例如:
languagePack.Category = myStock.Category,
这当然会引发“无效的匿名类型成员声明器”错误。有什么建议吗?也许我误读了一些东西,但如果你只是想把你的语言放进去(LanguagePack只是一个保存你的价值观的类):
抱歉,LanguagePack是一个App_GlobalResources.resx页面,有两种语言定义(LanguagePack.resx和LanguagePack.pl-pl.resx),哦,我明白了。。。但据我所知,您无法在运行时更改资源字符串。。。因此,您的解决方案可能无论如何都不可能……只是澄清一下,我们必须翻译的是实际的列标题,如“Category”、“Description”等,而不是数据。languagePack是一个包含翻译的GlobalResources.resx文件。
languagePack.Category = myStock.Category,
class LanguagePack
{
public int Category { get; set; }
public string Description { get; set; }
public decimal UnitPrice { get; set; }
public int CurrentQuantity { get; set; }
public int LanguageName { get; set; }
}
return (from myStock in allStock
select new LanguagePack
{
Category = myStock.Category,
Description = myStock.Description,
UnitPrice = myLowStock.UnitPrice,
CurrentQuantity = myLowStock.CurrentQuantity,
LanguageName = "Polish" // or english or whatever... maybe LanguageId or something corresponding to your model
});