C# c列表选择特定变量
我有gridview ASPxGridView,我想填充行。 我的c代码如下所示:C# c列表选择特定变量,c#,asp.net,C#,Asp.net,我有gridview ASPxGridView,我想填充行。 我的c代码如下所示: List<ProductEntity> productList; productList = product.getProducts(); gvProducts.DataSource =... gvProducts.DataBind(); productList = product.getProducts().foreach() 但它不起作用。谢谢。在没有看到更多代码的情况下,我无法确定,但如果您
List<ProductEntity> productList;
productList = product.getProducts();
gvProducts.DataSource =...
gvProducts.DataBind();
productList = product.getProducts().foreach()
但它不起作用。谢谢。在没有看到更多代码的情况下,我无法确定,但如果您只想从产品中选择名称和价格
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"));
}
}
}
在GridView上执行以下步骤: 禁用自动生成列 单击GridView,然后编辑列 添加要从实体中显示的列。e、 g.添加BoundField,它必须包含要显示的列的HeaderText名称,以及实体中变量的DataField名称
您的意思是只显示特定列或筛选特定行?这是一个错误。应该是Price=x。Price谢谢您的回答,但我找不到。选择方法。您确定它是列表类型吗?@ridvanzoro使用System.Linq添加
var result =product.getProducts().Select(x=>
new {Name = x.name ,
Price= x.price})
.ToList();