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. Edit Columns「 」よりGridViewをクリック
  3. エンティティから表示する列を追加します。例 add 、表示する列の名前とエンティティ内の変数の名前をBoundField含める必要がありますHeaderTextDataField
于 2013-09-15T14:37:34.133 に答える