Как я могу связать DataTable с DataRepeater(Windows Powerpack) во время выполнения?
В настоящее время я пытаюсь использовать элемент управления 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 ответ
Я знаю, что уже немного поздно, но, если вы еще не нашли ответ, я опубликую это выступление на всякий случай.
У меня была та же проблема, которую я решил, привязав сначала элементы к данным, и только потом сделал привязку переносчика данных. Итак, ваш код должен выглядеть так:
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;