一种方法是改变
params Func<T, string>[] columns
到
params Func<T, string[]>[] columns
归还
ProductQuantites
作为数组,然后在
CsvResult
.
编辑2010-10-18
不漂亮,我希望我能想出更好的办法,但这似乎奏效了。
var products = new List<Product> { new Product {Name="Heliamphora chimantensis", Quantity=7}, new Product {Name="Dionaea muscipula", Quantity=2}};
var mcl = new MatrixCampaignLine { RegionName = "Catalonia", CustomerSku = "4711", ProductName = "Nepenthes rajah", Quantity = 1, ProductQuantites=products };
var data = new List<MatrixCampaignLine> { mcl };
var list = new List<string> { "huvud", "axlar", "knä", "och", "tå" };
var csv = new CsvResult<MatrixCampaignLine>(data, "Jamaica Jan Sun Princess", list, "joshua",
x => new string[] {x.RegionName},
x => new string[] {x.CustomerSku},
x => new string[] {x.ProductName},
x => new string[] {x.Quantity.ToString()},
x => x.ProductQuantites.Select(p => p.Quantity.ToString()).ToArray()
);