2013-03-29 74 views
0

我有用C#編寫的窗口應用程序。我有一個datagridview裏面。下面是代碼:使用DataSource向datagridview添加行

private List<Tablet> tabletList = new List<Tablet>(); 
... 

private void tabControl1_Selected(object sender, TabControlEventArgs e) 
{ 
    GetTabletList(); 
} 

void GetTabletList() 
{ 
    Tablet newTablet = new Tablet(); 
    newTablet.xxx = yyy; 
    newTablet.xxx2 = yyy2; 
    tabletList.Add(newTablet); 

    dataGridView.DataSource = tabletList; 
    Console.WriteLine(tabletList.Count); 
} 

public class Tablet 
{ 
    public string xxx { get; set; } 
    public string xxx2 { get; set; } 
} 

每次我打電話GetTabletList(),價值tabletList.Count不斷增加,但我只能看到在datagridview的1排。怎麼了?

+0

你能再給一些代碼嗎?哪裏可以創建您的tabletList實例?點擊一個按鈕?形式的構造函數? – Natrium

+0

我已經簡化了測試代碼,每次單擊包含此datagridview的controlTab時都會調用GetTabletList()函數,並且在GetTabletList()中放置'newTablet',但它仍然只顯示1行(或者如果我添加另一個'newTablet2',則爲2行),表格只是不確定。 – AkariKamigishi

+0

我編輯了我的答案。 – Natrium

回答

0

嘗試使用ObservableCollection<Tablet>而不是List<Tablet>

+0

BindingList作品 – AkariKamigishi

+0

我不確定你是否理解我想說的話。嘗試使用這個:'ObservableCollection tabletList = new ObservableCollection ()' – Natrium