2012-10-29 37 views
2

我有一个数据列表,我想用这些数据在表中搜索。查询工作正常,但它不保留以前的数据。是否有任何解决方案呢?如何将新查询添加到gridview?

下面的代码:

foreach (string Id in LstID) 
{ 
    GdEmp.DataSource = employee.ShowData(Id); 
    GdEmp.DataBind(); 

} 

这里的查询:

public class Employee 
{ 
    public string family { get; set; } 
    public string name { get; set; } 
    .... 


public List<Employee> ShowData(string Id) 
    { 
     try 
     { 
      var Query = from P in Bank.employee 
       where P.Id == Id 
       select new Employee 
       { 
        family = P.Family, 
        name= P.Name, 
        ... 
       }; 
      return Query.ToList(); 

     } 
    } 
+4

您将要覆盖的GdEmp数据源的foreach循环的每次迭代。这只会保留上次迭代的数据。试着让我们更好地理解你想要完成的事情,并且我们可以帮助你。 –

+0

该代码仅显示列表中最后一个“id”的数据。 – Magnus

+0

我知道,但我想保留以前的data.how我可以这样做吗? –

回答

1

你需要一个函数,你要出示身份证的列表,并返回一个列表与相应的信息,而不是一个接一个。

GdEmp.DataSource = employee.ShowAllData(LstID); 
GdEmp.DataBind(); 

使用此功能:

public List<Employee> ShowAllData(List<string> LstID) 
{ 
     var q = from P in Bank.employee 
       where LstID.Contains(P.Id) 
       select new Employee 
       { 
         family = P.Family, 
         name = P.Name, 
         ... 
       }; 
     return q.ToList(); 
} 
+0

非常感谢。有用 :) –