2011-04-18 152 views
0

我的問題是如何使用下面的代碼對datagridview進行數據綁定。請檢查它..謝謝!如何數據綁定DataGridView?

InsuranceLabel oInsurance = new InsuranceLabel(); //Retrieves the list of existing Insurance from my database 
    oInsurance.Name = grdInsurance.Columns(0).text; //Fields Name 
    oInsurance.City = grdInsurance.Columns(0).text; //Fields City 
    oInsurance.Category = grdInsurance.Columns(0).text; //Fields Category 
    grdInsurance.DataSource = oInsurance; 
    grdInsurance.AutoGenerateColumns = true; //not sure that's the property 
    grdInsurance.DataBind(); 

我希望你能幫助我..謝謝!

+0

你爲什麼這樣做** oInsurance.Name = grdInsurance.Columns(0)的.text; ** ,你有什麼錯誤嗎? – V4Vendetta 2011-04-18 05:08:23

回答

4

網格視圖需要的對象集合不是單個對象。

但作爲一種解決方法,您可以創建一個IncuranceLabel列表,然後將您的對象添加到它。

List<IncuranceLabel> items = new List<IncuranceLabel>(); 
items.add(oInsurance); 
grdInsurance.DataSource = items; 
grdInsurance.Databind(); 
+0

其工作..但它只顯示一個字段(代理代碼)..名稱,城市,類別如何? – 2011-04-18 05:25:17

+0

爲了讓它顯示所有字段,創建一個自定義類,它包含所有需要的字段並覆蓋它的ToString()方法,以便它們之間打印所有的字段(inverval,newline等)。當您使用List items = ...一切都會正常工作:) – asenovm 2011-04-18 05:56:08

+0

我不確定此代碼是否正常工作: oInsurance.Name = grdInsurance.Columns(0).text; 你可以把一個靜態值來測試:oInsurance.Name =「Test」; – 2011-04-19 12:15:35

3

創建一個集合類,並使其作爲數據源

grdInsurance.DataSource = CollectionClass; 
grdInsurance.Databind(); 
2

不要忘記這樣的屬性是真正的性質,而不是字段設計類。

例如,做:

// Bad example: all of these are Fields, not Properties 
public class InsuranceLabel 
{ 
    public string Name; 
    public string City; 
    public string Category; 
} 

相反,這樣做:

// Good example: all of these are Properties 
public class InsuranceLabel 
{ 
    public string Name { get; set; } 
    public string City { get; set; } 
    public string Category { get; set; } 
}