代码之家  ›  专栏  ›  技术社区  ›  Stephen M. Redd

ListView-绑定到简单标量数组时,是否可以设置DataKeyName?

  •  2
  • Stephen M. Redd  · 技术社区  · 16 年前

    我经常遇到这样的情况,我使用一个ListView或类似的控件和一个简单的数组,比如string[]。

    当您绑定到简单集合时,是否有方法使用DataKeyNames属性?

    2 回复  |  直到 16 年前
        1
  •  2
  •   Keltex    16 年前

    您可以使用Linq执行此操作:

    string [] files = ...;
    
    var list = from f in files
        select new { Letter = f };
    
    // anonymous type created with member called Letter
    
    lv.DataKeyNames = "Letter";
    lv.DataSource = list;
    lv.DataBind();
    
        2
  •  0
  •   craigmoliver    16 年前

    尝试对对象使用常规列表。下面的例子是C#3.0。假设您想要一个字母列表:

    public class LettersInfo
    {
        public String Letter { get; set; }
    }
    

    然后列出一个清单:

    List<LettersInfo> list = new List<LettersInfo>();
    list.add(new LettersInfo{ Letter = "A" });
    list.add(new LettersInfo{ Letter = "B" });
    list.add(new LettersInfo{ Letter = "C" });
    

    然后将其绑定到listview

    lv.DataKeyNames = "Letter";
    lv.DataSource = list;
    lv.DataBind();