首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从两个列表中获取经过筛选的列表

从两个列表中获取经过筛选的列表
EN

Stack Overflow用户
提问于 2016-08-04 12:16:57
回答 1查看 47关注 0票数 0

我有一个清单箱,我所有的工厂都装在那里。我还在listbox(1)中有一个选定的工厂。

列表框中所有工厂的绑定代码正确。

代码语言:javascript
复制
protected void fillWerke()
{
    //BindingListPersistable<Liebherr.Hau.Erp.Client> bl = new BindingListPersistable<Liebherr.Hau.Erp.Client>();
    AllFactory = new BindingListPersistable<Liebherr.Hau.Erp.Client>();
    AllFactory = Manager.LoadClients();
    BetroffeneWerkeAll.DataSource = from allF in AllFactory select allF.ClientCode;
    BetroffeneWerkeAll.DataBind();
}

我试过的是

代码语言:javascript
复制
protected void fillWerke()
{
    //BindingListPersistable<Liebherr.Hau.Erp.Client> bl = new BindingListPersistable<Liebherr.Hau.Erp.Client>();
    AllFactory = new BindingListPersistable<Liebherr.Hau.Erp.Client>();
    AllFactory = Manager.LoadClients();
    var selectedFac;
    var filteredFac;
    if(SelectedWerke.Items.Count > 0)
    {
        selectedFac = SelectedWerke.Items;
        filteredFac = AllFactory.Except(selectedFac);
    }
    BetroffeneWerkeAll.DataSource = from allF in AllFactory select allF.ClientCode;
    BetroffeneWerkeAll.DataBind();
}

但是,我希望你知道我的意思,对不起我的英语不好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-04 12:32:40

尝试而不是:

代码语言:javascript
复制
BetroffeneWerkeAll.DataSource = from allF in AllFactory select allF.ClientCode;

这是:

代码语言:javascript
复制
 BetroffeneWerkeAll.DataSource = from allF in filteredFac select allF.ClientCode;

执行Except时,它返回“输入列表(第二个列表中的项除外)”,而不是设置第一个列表。

不确定,但在我看来,selectedFacClientCode的类型,而不是AllFactory中的项目。如果是这样的话,您应该使用:

代码语言:javascript
复制
var result = AllFactory.Where(item => 
        !selectedFac.Any(filteredValue => filteredValue == item.ClientCode)).ToList();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38767107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档