0

したがって、このページには、現在この特定の BOQ で作業している下請け業者のリストが表示されます。これは「allSubContractors」に保存されます

これは、画面上にリストとして表示されます。次に、ユーザーが残りの下請け業者を選択してリストに追加できるようにするドロップダウンボックスを追加したいと思います。

これまでのところ、iv は最初の部分を機能させました。BOQ ディスプレイで現在作業している下請け業者のリストが表示されますが、ドロップダウンについては、私が望むものとは正反対です。ドロップには、現在の下請け業者の同じリストが表示されます。リストに残りが必要です。

私は使用しています:

`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);

しかし、喜びはありません、何かアドバイスはありますか?タクス

4

1 に答える 1

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();

?

于 2013-01-31T15:08:52.560 に答える