none
Usando ListView RRS feed

  • Pergunta

  • Bom dia atodos,

    Eu to com uma dúvida sobre ListView e gostaria de saber se alguem pode me dar uma luz. É o seguinte, eu tenho um formulário onde eu preencho um listLivew (lvDados) com informações vindas do banco, mas precisamente com 4 colunas (C1, C2, C3 E C4) que está em uma aba de um tabcontrol. Quando eu clico em um ítem do lvDados, ele joga aquelas informações em outro Listview (lvSelelcioados) que fica na segunda aba do tabControl, só que nesse segudno listview, eu tenho 8 colunas que (C1, C2, C3 E C4, que são preenchidas pelo lvDados e C5, C6, C7 E C8, que são prenchidas automaticamente em tempo de execução) segue o código que pega as informações do lvDados e joga no lvSelecionados:

    private

    voidlvDados_Click(objectsender, EventArgse)

            {

               

               

    foreach(ListViewItemitem inlvDados.Items)

                {

    if(item.Selected)

    {

                        lvSelecionados.Items.Add((

    ListViewItem)item.Clone());            

                       

    MessageBox.Show("Insumo: "+ lvSelecionados.Items[0].Text + " adicionado com Sucesso","Aviso");

                        item.Remove();

                       

                    }

                }

                lvSelecionados.Items[0].SubItems.Add(

    "1");

               

            }

    Até ai tudo bem, o probela começa quando eu tento adicionar as outras informações que vem de campos de texto, pois só consigo adicionar na primeira linha, as outras os campos não são todos adicionados ou entao eles ficam adicionados sempre na primeira linha do lvselecionados. Minha dúvida então é a seguinte: é possivel adicionar dados nas colunas que eu criei (C5, C6, C7 E C8) EM TEMPO DE EXECUÇÃO, na mesma linha que foi copiado as informações do primeiro listView? ou teria outra forma de se fazer isso? Desde já agradeço a ajuda.

    sexta-feira, 27 de julho de 2012 13:30

Todas as Respostas

  • assim amigo, 

    Você está fazendo o bind de que forma no primeiro ListView ?

    Por que da minha pergunta. da forma que voce estiver trabalhando temos uma forma de resolver sua solução, vamos dizer que eu tivesse essa missão, desprezando as váriaveis que voce tem na sua aplicação e como fazer, se prendendo somente a dois listViews

    Criaria uma List<T> dos objetos que vao estar no primeiro ListView

    Depois no Evendo de Seleção do ListView ( senão me engano SelectedIndexChanged, to falando de cabeça então de uma olhada lá..) eu retornaria o objeto selecionado e verificaria se ele já foi adicionado ao segundo ListView, em caso negativo eu Adicionaria. 

    e geraria as colunas novas ( ou elas já estaria no objeto de Lista e só não apareceriam no primeiro ListView ) .

    Mas eu evitaria trabalhar com item a item do ListView e trabalharia com os Objetos selecionados via Bind no controle.

    quarta-feira, 1 de agosto de 2012 00:17