2014-12-26 31 views
-3

我已經q採用的LINQ查詢,並在列表的索引上添加新的記錄如何在LINQ列表中添加新的記錄

List<PMAST> lstPmast = new List<PMAST>(); 

lstPmast.Add(new PMAST() { EmpId = 0, PCODE = "--Select--", PNAME = "--Select--" }); 

var GetEmployeeLst = (from d in db.PMASTs 
         where d.CNO == iCNO && d.Isdeleted != true 
         select new 
           { 
            EmpId = d.EmpId, 
            PCODE = d.PCODE, 
            PNAME = d.PNAME 
           }).ToList(); 

回答

0

使用它來代替地址:

lstPmast.Insert(0,new PMAST() { EmpId = 0, PCODE = "--Select--", PNAME = "--Select--" }); 
1

你可以這樣做多種方式,其中一種是剛用的ListAddRange方法:

List<PMAST> lstPmast = new List<PMAST>(); 

    lstPmast.Add(new PMAST() { EmpId = 0, PCODE = "--Select--", PNAME = "--Select--" }); 

    var GetEmployeeLst = (from d in db.PMASTs 
     where d.CNO == iCNO && d.Isdeleted != true 
     select new 
     { 
      EmpId = d.EmpId, 
      PCODE = d.PCODE, 
      PNAME = d.PNAME 

    }).ToList(); 
    lstPmast.AddRange(GetEmployeeLst); 
1

辛格e你的問題被標記爲ASP.NET MVC,我假設你正在嘗試添加一些默認值到下拉菜單中。如果是這樣的話,你可以直接使用相應的DropDownListFor幫手,讓您做到這一點,而不需要在您的視圖模型將這種假記錄:

@Html.DropDownListFor(x => x.SelectedEmployee, Model.Employees, "--Select--") 

您不再需要改變你的數據模型來實現這些純粹的UI的東西。

0

您可以通過像list.add增加網元的記錄:

lstPmast.add(newlistitem);

0

看起來您的對象列表將以asp.net組合框或winform組合框結束。

這裏是我的建議

List<Tuple<int,string>> lstPmast; 

var lstPmast = db.PMASTs.Where(d => d.CNO == iCNO && !d.Isdeleted).Select(d => Tuple.Create(d.EmpId, e.PCODE + "-" + e.PNAME)).ToList(); 

// then add a default as the first item in the list 
lstPmast.Insert(0, Tuple.Create(0, "--- Select ---")); 

// bind the list to your combobox here. Use Item1 as value and Item2 as the description