Usuário com melhor resposta
Trabalhando com objetos em Run-Time.

Pergunta
-
Tive alguns problemas e não tenho como testar isso...
Mas gostaria de saber se da certo
//Construtor
PersistenciaDataContext pdc = new PersistenciaDataContext();
Cliente cli = new Cliente(); //Classe LINQ
TabControl tabContato = null;
TabItem tbCon = null;
StackPanel stkMain = null;
Label lblNome = null;
TextBox txtNome = null;
//Evento Adiciona
TabContato = new TabControl();
TabItem = new TabItem();
//E vai criando os objetos em Run-time
//Metodo Salva
for(int i = 0; i > tabContato.Items.Count; i++)
{
txtNome.Text = cli.Nome;
}
Minha pergunta é , ele passaria em todas os TabItems Criados e pegaria todos os campos Nomes de cada TabItem?
Ou isso não daria certo?
Obrigado!
Respostas
-
A coisa é um pouco diferente. Quando você tem uma query Linq, você terá um IEnumerable<Cliente>. Acredito que o que você quer é o seguinte:
- Fazer a Query Linq e obter uma lista de clientes
- Para cada Cliente, montar um TabItem, setando o DataContext para aquele cliente. Neste caso, vale a pena usar data binding (two way), assim quando mudar a interface, muda o cliente relativo ao TabItem
- Ao final, você dará um SubmitChanges para gravar as alterações. Não precisa de código, pois a interface está ligada ao dado.
Bruno
-
Este caso é a mesma coisa: você cria um novo Cliente e atribui ele ao DataContext do UserControl que incluiu no TabItem. Como você deve fazer data binding TwoWay, quando o usuário muda na interface, ele muda os dados do objeto Cliente. Aí é só dar um SubmitChanges para salvar.
Bruno
-
Todas as Respostas
-
A coisa é um pouco diferente. Quando você tem uma query Linq, você terá um IEnumerable<Cliente>. Acredito que o que você quer é o seguinte:
- Fazer a Query Linq e obter uma lista de clientes
- Para cada Cliente, montar um TabItem, setando o DataContext para aquele cliente. Neste caso, vale a pena usar data binding (two way), assim quando mudar a interface, muda o cliente relativo ao TabItem
- Ao final, você dará um SubmitChanges para gravar as alterações. Não precisa de código, pois a interface está ligada ao dado.
Bruno
-
Não , devo ter me expressado mal , isso é baseado no que você me mostrou naquele post.
De criar o tabcontrol dentro de outro tabcontrol (este é um passo)
Após ter criado já em modo de execução, o usuário vai preencher os campos e se necessario irá criar mais Tabs de Contatos e cadastrar os contatos necessário.
Bom após ele ter preenchido os campos , e quando for confirmar o cadastro...
Teria que ter um metodo que iria de campo em campo enviar essas informações para o banco.
Então por isso dei esse exemplo.
-
Este caso é a mesma coisa: você cria um novo Cliente e atribui ele ao DataContext do UserControl que incluiu no TabItem. Como você deve fazer data binding TwoWay, quando o usuário muda na interface, ele muda os dados do objeto Cliente. Aí é só dar um SubmitChanges para salvar.
Bruno
-
Assim , eu até gostaria de fazer um usercontrol para isso e usa-lo realmente parece bem mais confartavel seu uso.
Mas o que não tenho agora é tempo, pois tenho que entregar isso até as 6 da tarde de hoje. hahahaha
Se tivesse alguma experiencia em criar um usercontrol , concerteza o faria, mas como nunca fiz , vai demandar um tempo para eu entender como funciona e fazer um para usar.
Mas concerteza após isso , irei dedicar um tempo para isso.
No momento estou meio que correndo contra o tempo aqui , para entregar isso até o horario determinado
obrigado
-
-
Vou aguardar ansiosamente!!!
Por favor me envie um e-mail quando estiver pronto.
Obrigado!