2011-05-18 23 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; 
相关问题