2011-05-18 53 views
1

我正在嘗試使用Windows Powerpack DataRepeater控件來顯示DataTable中的數據。如何在運行時將DataTable綁定到DataRepeater(Windows Powerpack)?

到目前爲止,DataRepeater中承認,從數據庫中調用結果DataTable中有8行,但我一直沒能拿到3個文本框(我已經把我的的DataRepeater的ItemTemplate中),以顯示所述行中的實際數據。

DataTable DT = BL.GetDataTable(); 
BindingSource bSource = new BindingSource(); 
bSource.DataSource = DT; 
DR.DataSource = bSource; 

txtEmail.DataBindings.Add("Text", bSource, "Email"); 
txtID.DataBindings.Add("Text", bSource, "ID"); 
txtName.DataBindings.Add("Text", bSource, "Name"); 

所以,一旦DataRepeater中(DR)被觀看,可以看到8行。如果文本框仍然是DR的一部分,那麼它們會在這8行中的每一行上重複,但是沒有數據。

如果我刪除文本框並將它們直接放置在表單上,​​那麼當通過DR導航時,文本框會顯示相應的數據。這不是我正在尋找的行爲。

有誰知道如何讓文本框顯示數據,併成爲DataRepeater的一部分?

+0

BL.GetDataTable(); ?? – Pantelis 2011-11-30 11:19:25

+0

'BL'也許是指他的「商業邏輯」? – eidylon 2012-07-19 17:55:19

回答

4

我知道這有點遲,但是如果你還沒有找到答案,我會發布這個jost以防萬一。

我遇到了同樣的問題,我通過綁定元素到數據,然後才綁定datarepeater。所以你的代碼應該是這樣的:

txtEmail.DataBindings.Add("Text", "", "Email"); 
    txtID.DataBindings.Add("Text", "", "ID"); 
    txtName.DataBindings.Add("Text", "", "Name"); 

    DataTable DT = BL.GetDataTable(); 
    bSource.DataSource = DT; 
    DR.DataSource = bSource; 
相關問題