【问题标题】:How to bind combobox to linq result value only?如何仅将组合框绑定到 linq 结果值?
【发布时间】:2011-05-21 10:05:55
【问题描述】:

我想将组合框绑定到仅值和不同的名称。但我得到这样的结果:

我只想要价值,例如;

冰箱把手,绿色

请回答我。我的代码是这样的

DataTable acc=附件.GetData();

var query = (from t in acc.AsEnumerable()

选择新的 {

           name = t["type"].ToString(),

           color = t["color"].ToString()

          }).Distinct().ToList();

cmbAccessoryName.DataSource = 查询;

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    使用 ValueMember 和 DisplayMember 属性!在组合内显示并使用 .Distinct() 过滤重复项!

    尝试:

    DataTable acc= accessory.GetData();
    
    var query = (from t in acc.AsEnumerable()
    
    select new {
    
           description=string.Format("{0},{1}",t["type"].ToString(), color = t["color"].ToString()) 
    
          }).Distinct().ToList();
    cmbAccessoryName.DataSource = query;
    

    【讨论】:

    • 我使用 .Distinct() 方法来区分但我想要这样的组合框值 Ice Box Handle,Green two value combine 。怎么办?
    • 我这样编辑你的答案: var query = (from t in acc.AsEnumerable() orderby t["type"].ToString() select string.Format("{0},{1 }", t["type"].ToString(), t["color"].ToString()) ).Distinct().ToList();我得到了答案。谢谢你。
    猜你喜欢
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多