2014-06-09 107 views
0

我在一個類中有一個列表,我想在其他類中使用此列表並將其綁定到gridview中。如何將列表綁定到GridView

在這個類使我的名單:

namespace sample_table 
{ 
public class ClassDal 
{ 
    public List<phone> GetAll() 
    { 
     using (PracticeDBEntities1 context = new PracticeDBEntities1()) 
     { 
      return context.phone.ToList(); 
     } 
    } 
} 
} 

,並在這個類我想使用它:

namespace sample_table 
{ 
public partial class WebForm1 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     ClassDal obj = new ClassDal(); 
     obj.GetAll(); 

     GridView1.DataSource = obj; 
     GridView1.DataBind(); 
    } 
} 
} 

但我收到此異常:

數據源是無效的類型。它必須是IListSource,IEnumerable或IDataSource。

回答

0

你需要與列表當前正在與ClassDAL結合的GridView這顯然不是一個列表,你的方法,所以你需要設置數據源GetAll()返回一個列表綁定說:

ClassDal obj = new ClassDal(); 
GridView1.DataSource = obj.GetAll(); 

或:

ClassDal obj = new ClassDal(); 
List<phone> list = obj.GetAll(); 
GridView1.DataSource = list; 
+0

tnx,我試了一下,但我收到這個異常行gridviw1.databind();在所選的數據源上找不到名爲'obj'的字段或屬性。 – user3721173

+0

你有什麼異常? –

+0

在所選數據源中找不到名爲'obj'的字段或屬性。 – user3721173

0

使用ToList()擴展方法將查詢轉換爲項目列表。

ClassDal obj = new ClassDal(); 
List<phone> list = obj.GetAll(); 
GridView1.DataSource = list.ToList(); 
+0

謝謝,我試過了,但我收到了這個異常:名稱爲'obj'的字段或屬性未在所選數據源中找到。 – user3721173

+0

@ user3721173,請張貼您的網格視圖html部分 – RGS