0

我有 gridview (ASPxGridView),我想填充行。我的 C# 代码是这样的:

List<ProductEntity> productList;
productList = product.getProducts();
gvProducts.DataSource =...
gvProducts.DataBind();

我不想显示 ProductEntity 的所有变量,只显示名称和价格。

我知道有很多方法,但什么是最简单、最简单的方法?

我试过这样的事情:

productList = product.getProducts().foreach()

但它没有用。谢谢。

4

3 回答 3

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"));

            }
        }
    }
于 2013-09-15T14:33:12.690 回答
0
var result =product.getProducts().Select(x=> 
          new {Name = x.name ,
                  Price= x.price})
         .ToList();
于 2013-09-15T14:35:00.153 回答
0

在 GridView 上按照以下步骤操作:

  1. 禁用AutoGenerateColumns
  2. 点击 GridView 比“ Edit Columns
  3. 添加要从实体中显示的列。例如 add BoundField,它必须包含HeaderText您要显示的列的DataField名称,以及您的实体中的变量名称
于 2013-09-15T14:37:34.133 回答