Как связать DataTable с DataRepeater (Windows Powerpack) во время выполнения? - PullRequest
2 голосов
/ 18 мая 2011

В настоящее время я пытаюсь использовать элемент управления Windows Powerpack DataRepeater для отображения данных из DataTable.

Пока что DataRepeater распознает, что результирующий DataTable, вызванный из базы данных, имеет 8 строк, но я не смог получить 3 текстовых поля (которые я поместил в ItemTemplate моего DataRepeater), чтобы показать фактический данные в указанных строках.

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 Ответ

5 голосов
/ 01 июля 2011

Я знаю, что уже немного поздно, но все же, если вы еще не нашли ответ, я опубликую этот jost на всякий случай.

У меня была та же проблема, которую я решил, связав сначала элементы с данными, и только потом связал переносчик данных. Итак, ваш код должен выглядеть так:

    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;
...