如何在运行时将DataTable绑定到DataRepeater(Windows Powerpack)?

时间:2011-05-18 14:37:30

标签: c# datatable datarepeater powerpacks

我目前正在尝试使用Windows Powerpack DataRepeater控件来显示DataTable中的数据。

到目前为止,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的一部分?

1 个答案:

答案 0 :(得分:5)

我知道这有点晚了,但如果你还没有找到答案,我会发布这个以防万一。

我遇到了同样的问题,我首先将数据绑定到数据,然后才进行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;