我有gridview(ASPxGridView),我想填充行。 我的c#代码是这样的:
List<ProductEntity> productList;
productList = product.getProducts();
gvProducts.DataSource =...
gvProducts.DataBind();
我不想显示ProductEntity的所有变量,只显示名称和价格。
我知道有很多方法,但最简单,最简单的方法是什么?
我试过这样的事情:
productList = product.getProducts().foreach()
但它没有用。感谢。
答案 0 :(得分:1)
如果没有看到更多代码我无法确定,但如果您只想从产品中选择名称和价格......
List<ProductEntity> productList;
productList = product.getProducts()
.Select(p => new { p.Name, p.Price });
编辑:扩展我的代码示例以显示工作测试:
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
namespace StackOverflow
{
[TestFixture]
public class ProductListQuestion
{
class ProductEntity
{
public string Name { get; set; }
public decimal Price { get; set; }
public string OtherProperty { get; set; }
}
[Test]
public void CanSelectProperties()
{
var products = new List<ProductEntity>
{
new ProductEntity {Name = "First", Price = 1M},
new ProductEntity {Name = "Second", Price = 2M},
new ProductEntity {Name = "Third", Price = 3M}
};
var productList = products
.Select(p => new { p.Name, p.Price });
Assert.That(productList, Is.Not.Null);
Assert.That(productList.Count(), Is.EqualTo(3));
Assert.That(productList.ElementAt(0), Has.No.Property("OtherProperty"));
Assert.That(productList.ElementAt(0), Has.Property("Name"));
}
}
}
答案 1 :(得分:0)
var result =product.getProducts().Select(x=>
new {Name = x.name ,
Price= x.price})
.ToList();
答案 2 :(得分:0)
在GridView上执行以下步骤:
AutoGenerateColumns
Edit Columns
”BoundField
,它必须包含您要显示的列的HeaderText
名称,以及实体中DataField
变量的名称