0

FreeDressingItems、FreeToppingItems、FreeInstructionItems のコレクションを持つクラスがあります。

それはこのようなもので、それぞれがselectedCustomizationを埋めます私はこのクラスに別のプロパティを持っています public string Items { get { return GetAllItems(); } }

同じカテゴリタイプのすべてのカテゴリ名を保持するように入力して、グリッドに簡単にバインドし、そのすべての値をコンマ区切り形式で表示できるようにします。

私は次のコードを持っています。誰かが私を助けてくれます。

  public class selectedCustomization
    {
        public CategoryType TypeName { get; set; }
        public string CategoryName { get; set; }
        public string ItemName { get; set; }
        public int SourceID { get; set; }
        public string Items { get { return GetAllItems(); } }
        private string GetAllItems()
        {
            switch (TypeName)
            {
                    case CategoryType.Dressing:
                    {
                        cFreeCustomization cfreeCust = new cFreeCustomization();
                        break;
                     }


                case CategoryType.Topping:

                    break;

                case CategoryType.SpecialInstruction:

                    break;


            }

        }

    }

これは別のクラスです cFreeCustomization

public List<selectedCustomization> SelectedItems
    {
        get
        {
            libDBDataContext cn = new libDBDataContext();
            List<selectedCustomization> lst = new List<selectedCustomization>();
            lst.AddRange(
                        (from xx in this.FreeDressingItems
                         select new selectedCustomization() { TypeName = CategoryType.Dressing, CategoryName = xx.DressingInfo.CatName, ItemName = xx.DressingInfo.Description }
                        ).ToList()
                        );
            lst.AddRange(
                        (from xx in this.FreeToppingItems
                         select new selectedCustomization() { TypeName = CategoryType.Topping, CategoryName = xx.ToppingInfo.CatName, ItemName = xx.ToppingInfo.Description }
                        ).ToList()
                        );
            lst.AddRange(
                        (from xx in this.FreeInstructionItems
                         select new selectedCustomization() { TypeName = CategoryType.SpecialInstruction, CategoryName = xx.InstructionInfo.CatName, ItemName = xx.InstructionInfo.Description }
                        ).ToList()
                        );
            return lst;
        }
    }

selectedCustomization をコンマ区切り形式で結合するにはどうすればよいですか?

4

1 に答える 1

1

メソッドは次のGetAllItemsようにする必要があると思います:

private string GetAllItems()
{
    cFreeCustomization cfreeCust = new cFreeCustomization();
    var ls = cfreeCust.SelectedItems.FindAll(I => I.TypeName == this.TypeName);
    return string.Join(",", ls.Select(I => I.CategoryName).ToArray());  
}

これで問題が解決します。

于 2013-08-03T16:29:55.413 に答える