因此,在此页面中,它将显示当前子承包商正在处理此特定BOQ的列表。这存储在'allSubContractors'
中这在屏幕上显示为列表。然后我想添加一个下拉框,允许用户选择任何剩余的分包商并将其添加到列表中。
到目前为止,iv已经完成了第一部分工作,其中一个当前的子工程师列表在BOQ显示器上工作,但是对于下拉,我得到的正好与我想要的相反。 下拉显示当前Sub承包商的相同列表,我想要剩余的列表。
我正在使用:
`List<string> allSubContractors = new List<string>();
ClarkeDBDataContext db = new ClarkeDBDataContext();
allSubContractors = (from BoqSUBContractors in db.BOQ_SubContractors
where BoqSUBContractors.Bill_Of_Quantity_id == this.boqId
select BoqSUBContractors.Sub_Contractor.Company_Name).ToList();
repeaterShowSubContractorName.DataSource = allSubContractors;
repeaterShowSubContractorName.DataBind();
List<Sub_Contractor> availableSubContractors = new List<Sub_Contractor>();
ClarkeDBDataContext db1 = new ClarkeDBDataContext();
availableSubContractors = (from sc in db1.Sub_Contractors
from bsc in db1.BOQ_SubContractors
where sc.id == bsc.Sub_Contractor_id
&& bsc.Bill_Of_Quantity_id == this.boqId
select sc).ToList();
DropDownListSubContractors.DataSource = availableSubContractors;
DropDownListSubContractors.DataBind();
我正在尝试类似的事情:
List<Sub_Contractor> availableSubContractors = new List<Sub_Contractor>();
availableSubContractors = (from sc in db.Sub_Contractors
select sc.id).ToList()
.Except(allSubContractors);
但是noy快乐,有什么建议吗? Thaks
答案 0 :(得分:1)
如果你尝试
怎么办?List<Sub_Contractor> availableSubContractors =
(
from sc in db1.Sub_Contractors
join bsc in db1.BOQ_SubContractors
on sc.id equals bsc.Sub_Contractor_id
where bsc.Bill_Of_Quantity_id equals this.boqId
select sc
).ToList();