none
Trabalhando com objetos em Run-Time. RRS feed

  • 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!

    quarta-feira, 12 de novembro de 2008 13:29

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

     

    quarta-feira, 12 de novembro de 2008 14:24
  • 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

     

    quarta-feira, 12 de novembro de 2008 15:58
  • Então aguarde, estou pensando em escrever um artigo ou post sobre UserControls. Seu caso fica muito bom para um artigo.

     

    Bruno

    quarta-feira, 12 de novembro de 2008 17:33

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

     

    quarta-feira, 12 de novembro de 2008 14:24
  • 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.

    quarta-feira, 12 de novembro de 2008 15:38
  • 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

     

    quarta-feira, 12 de novembro de 2008 15:58
  •  

    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

    quarta-feira, 12 de novembro de 2008 16:07
  • Então aguarde, estou pensando em escrever um artigo ou post sobre UserControls. Seu caso fica muito bom para um artigo.

     

    Bruno

    quarta-feira, 12 de novembro de 2008 17:33
  • Vou aguardar ansiosamente!!!

    Por favor me envie um e-mail quando estiver pronto.

     

    maykon183@hotmail.com

     

    Obrigado!

    quinta-feira, 13 de novembro de 2008 11:35