Como posso vincular um DataTable a um DataRepeater (Windows Powerpack) em tempo de execução?
-
15-11-2019 - |
Pergunta
Atualmente estou tentando usar o controle Windows Powerpack DataRepeater para exibir dados de um DataTable.
Até agora, o DataRepeater reconhece que o DataTable resultante chamado do banco de dados tem 8 linhas, mas não consegui obter as 3 caixas de texto (que coloquei no ItemTemplate do meu DataRepeater) para mostrar os dados reais no referido linhas.
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");
Assim, uma vez visualizado o DataRepeater(DR), você poderá ver 8 linhas.Se as caixas de texto fizerem parte do DR, elas serão repetidas em cada uma dessas 8 linhas, mas sem dados.
Se eu remover as caixas de texto e colocá-las diretamente no formulário, ao navegar pelo DR, as caixas de texto mostrarão os dados correspondentes.Qual não é o comportamento que estou procurando.
Alguém sabe como fazer com que as caixas de texto mostrem os dados E façam parte do DataRepeater?
Solução
Eu sei que é um pouco tarde, mas mesmo assim, se você ainda não encontrou a resposta, postarei este artigo para garantir.
Eu tive o mesmo problema que resolvi vinculando primeiro os elementos aos dados e só depois fiz a ligação do repetidor de dados.Então seu código deve ficar assim:
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;