Listview ... "Um amigo inseparável"

Em cada desenvolvimento é quase inevitável que eu tenho que usar um listview. Então, eu considero isso um controle muito útil. No início custou um pouco para entender seu funcionamento e que levou vários meses para realizar seu pleno potencial ... mas uma vez que entendemos que são inseparáveis.

Definição
Para definir um simples contar uma listview é uma coleção de ListViewItem

A fim de preencher um listview deve primeiro criar um objeto ListViewItem (ou mais) e, em seguida, acrescenta o objeto a listview usando o método add da propriedade itens.


 'É suposto ter um formulário chamado Form1 WinForm
 "Com um controle listview chamado ListView1

 Item de Dim ListViewItem
 item = New ListViewItem ("Cliente 1")
 ListView1.Items.Add (item)

 "Assim, podemos preencher usando um loop for / next
 For i As Integer = 1 To 10
 Item de Dim ListViewItem
 item = New ListViewItem ("Cliente" & i)
 ListView1.Items.Add (item)
 Próximo

A ListViewItem pode armazenar vários dados, como NOME, SOBRENOME,
ENDEREÇO, etc.

Isto requer a adição de (adicionar) para cada ListViewItem os subitens necessárias.


 Item de Dim ListViewItem
 item = New ListViewItem ("Nome 1")
 "Agora isso eu adicionar um objeto de item
 'Item Sub-para cada dados adicionais
 item.SubItems.Add ("Nome 1")
 item.SubItems.Add ("Endereço 1")
 item.SubItems.Add ("Phone 1")

 "Resta apenas acrescentar o item para ordenar
 Coleção 'ListViewItem de objetos de
 "ListView1 da mesma maneira que fizemos antes
 ListView1.Items.Add (item)

A listview tem visões diferentes para exibir os dados, estes são detalhes,
LergeIcon, Lista SmallIcon, e Tile.

Que se segue é uma descrição de cada um tomados a partir de a ajuda de estúdio visual:

Detalhes Cada item aparece em uma linha separada com informações mais detalhadas
de cada elemento organizados em colunas. A coluna mais à esquerda contém
um pequeno ícone e um rótulo, e colunas subseqüentes contêm subitens
especificado pela aplicação. As colunas incluem um cabeçalho que pode exibir
um título para a coluna. O usuário pode alterar o tamanho de cada
coluna em tempo de execução.
LargeIcon Cada item aparece como tamanho do ícone abaixo, que contém uma
rótulo.
Lista Cada item aparece como um pequeno ícone para a direita das quais contém uma etiqueta.
Os elementos estão dispostos em colunas, sem cabeçalho.
SmallIcon Cada item aparece como um pequeno ícone para a direita das quais contém uma etiqueta.
Telha Cada item aparece como um tamanho de ícone chamado de elemento e
informações subelemento localizado à sua direita. O aplicativo especifica a informação
subelemento do que aparece. Esta visão só está disponível no Windows XP e
a família do Windows Server 2003. Em sistemas operacionais anteriores, este valor
é ignorado eo controle ListView é mostrado na exibição
LargeIcon

.

Para visualizar os dados quando usamos a visão "Detalhes" é preciso primeiro criar
colunas listview concordar com a quantidade de itens e subitens que temos.


 Column1 Dim System.Windows.Forms.ColumnHeader Nova
 Column2 Dim System.Windows.Forms.ColumnHeader Nova

 Column3 Dim System.Windows.Forms.ColumnHeader Nova
 Dim System.Windows.Forms.ColumnHeader column4

 column1.Text = "Nome"

 column2.Text = "Sobrenome"
 column3.Text = "Endereço"
 column4.Text = "Telefone"

 column1.Width = 40
 column2.Width = 30
 column3.Width = 30
 column4.Width = 20

 "É sempre importante ter a certeza que não há
 "As colunas e é melhor para excluí-los antes
 "Adicione as novas colunas

 ListView1.Columns.Clear ()

 "Agora, adicione as novas colunas
 ListView1.Columns.Add (coluna1)
 ListView1.Columns.Add (coluna2)
 ListView1.Columns.Add (column3)
 ListView1.Columns.Add (column4)

 ListView1.View = View.Details

As configurações de coluna também pode ser feito no modo de design do
propriedade colunas, não está aberto um assistente a partir do qual você administrar
colunas ListView.
Propriedades

Existem algumas propriedades muito úteis que não podem deixar de saber, em seguida,
mencionar que eu uso mais. As propriedades restantes são deixados para
capaciddad exercer a sua pesquisa.

FullRowSelect A definição dessa propriedade sempre uma verdadeira e sua função é realçar toda a linha quando
Trabalhar na vista Detalhes.
MultiSelect Habilita (true) ou desabilitar (false) a seleção de vários elementos dentro
listview.
HideSelection Se a propriedade é verdadeira você não verá esse item é selecionado quando o controle
perde o foco. Em alguns casos, é importante para desactivar (falso) esta opção
para acompanhar o item ativo.

29 Responses to "Listview ..." Um amigo inseparável ""

  1. criança Quispe jesus rodriguez diz:

    Bom dia doutor:
    primeiro espero que não incomoda, eu q me ajudar a respeito de como preencher o listview, use sempre o DataGridView .. bem a verdade e não encher o meu listview c como eles tentaram q não é o mesmo ... é claro que eu quero encher meu listview com o registro retornado de uma tabela sqlserver usando uma consulta por exemplo "SELECT ID Descrição, DE TablaPaises"

    gostaria de saber também como adicionar um registro em um q textbox eu tenho a minha listview mas sem afetar o meu banco de dados, e quando você clica no botão para gravar a partir de minha janela, eu estou trabalhando o registro q q adicionar ao meu listview agora ser adicionados se meu banco de dados ...

    Espero que possa ajudar .. e agradecer por sua ajuda .. e sua contribuição ...

    à atenção. jesus filho rodriguez Quispe

  2. criança Quispe jesus rodriguez diz:

    Obrigado pela sua resposta Dr. .. se eu ler o artigo, e me ajudou muito .. Devo o tempo .. como sempre .. sendo ajudado com problemas como estes e ajudar com o que sabemos .. torna o conhecimento cada vez maior e mais para encontrar coisas novas .. projeto e mais outro ...

    graças médico problema, resolvido

  3. Jimmy Saenz diz:

    tal, em primeiro lugar, parabéns pelo seu blog, tenho feito muito. Gostaria de responder a uma preocupação que eu tenho, se não muita dificuldade, pois você tem um grande comando no controle listview, estou fazendo um jogador vbnet. Eu uso o listview para todos os painéis (reprodução, playlists, filtros ...), no caso de pesquisa, uma posição, numa lista todas as músicas que foram adicionados ao banco de dados, o formulário é uma caixa de texto onde você digita a música para encontrar e pressione o botão de pesquisa, eu uso um FindItemWithText para procurar .. e tudo de bom, em um msgbox, imprimir a canção é ou não, perooo a favor eu preciso de você é que eu quero fazer um foco no item listview encontrados não gostaria de acrescentar itens do índice, simplesmente usar: listview.items.add (CancionesEncontradas)
    então, se você puder ajudar por favor esteja à espera de um prompt de respuesta.gracias

  4. Jimmy Saenz diz:

    buenisimo o post, simples e interessante, e resolver o problema, graças pequenos. você comentar sobre o post anterior eu estou fazendo o projeto pequeno de um jogador, eu gostaria que estavam em contato para uma consulta pequena, se você pode adicionar-me aos seus contactos seria ótimo, um? mas, para além do WMP controle entre VB rede há outra maneira de tocar mp3, para não depender da biblioteca do WMP? esperando por sua resposta rápida, novamente, um obrigado antecipadamente

  5. criança Quispe jesus rodriguez diz:

    Bom dia doutor.

    novamente usando a sua ajuda, eu gostaria de saber a diferença entre datagridview e listview.
    e controles de qual dos dois muito me aconselhou a usar para a gestão de mais de 1000 registros por tabela em um banco de dados ..

    Devo de antemão.

    feliciandole e novamente para as grandes contribuições ...

  6. Eliseu diz:

    Eu recomendo a leitura deste post que eu acredito que vai ser de grande ajuda:

    http://social.msdn.microsoft.com/Forums/es-ES/dotnetes/thread/faea77af-edec-41a9-970f-cedb07542e73

  7. deVIShop diz:

    saludoss:
    Eu li muito o listview alça q

    Eu tenho um qe dudaa teve por quase três dias e não poderia resolver q é

    Como calcular o intervalo de datas você está em uma coluna em um listview?

    ---------------

    Descrição:
    agendar um DateTimePicker para cada vez q q Escolha uma data será adicionada em uma coluna de exibição de lista ..

    A questão é q:
    Uma vez adicionado ao listview não encontrar uma maneira de obter o intervalo de data pela primeira vez com o segundo, o segundo com o terceiro i assim por diante ...

    talves você apresentar um tema como a forma de calcular datas q foram adicionados em um listview ...
    Se você tem alguma recomendação ou resposta vai esperar o seu consego xD

    algo um pouco mais descritivo do problema que tenho neste q web :::

    http://www.forosdelweb.com/f79/sumar-fechas-listview-711801/~~V

    GRACIASSSSSSSSSSSS .....

  8. Angelandro Grande diz:

    uma pergunta sobre o seu post,
    como adicionar 2 itens para a minha listview com a propriedade igual a vista largeicons e eu adoraria que cada um dos itens tinha uma imagem diferente?

  9. Lopera Nicko diz:

    Atenciosamente,

    agredezco sua cooperação com antecedência. A minha pergunta é a seguinte: se eu já agredados vários itens para um listview. nenhum deles está selecionado (por isso não ter sido clicando sobre ela).
    como eu sei que o listview código não tem item selecionado?

    listview.listitems algo como (i). selecionar em VB 6.0

    muito obrigado

  10. Sauro gato diz:

    como temos um amigo em comum : D apenas em vb.net 2008 não pode encontrar todas as opções (propriedades) que foram úteis para definir-me ... vai ter a mesma capacidade que a de vb 6?

    • Eliseu diz:

      Oi

      Eu comentei que o novo controle ListView Visual Basic.NET. Expõe a maioria das propriedades e métodos que tinha em Visual Basic 6 e só precisa considerar alguns nomes mudaram.
      O controle ListView expõe apenas algumas novas propriedades. Este grupo inclui a ativação (especificar se os elementos são ativados com um ou dois cliques), HeaderStyle (se você pode clicar nos títulos das colunas) de rolagem (para ser definido como False para impedir movimento), LargeImageList (controle ImageList usada imagens para o modo ícones grandes) e SmallImageList (controle ImageList usada em todos os outros modos). Note-se que o ponto de vista propriedade define o modo de visualização, como no Visual Basic 6, mas o relatório foi renomeado para tão longe quanto detalhes.

      Espero ter apagado algumas de suas dúvidas.

      Atenciosamente

  11. Gabriel diz:

    Olá eu espero que você pode responder ...
    Marquei um listview para carge me uma lista de clientes diretamente do banco de dados, o meu problema é que eu quero que você selecione o cliente com a opção FullRowSelect listview e voltar para obter os dados da linha selecionada, então de volta para criar um objeto "cliente" dados do listview, então idk se vai entender como eu explicar, muito obrigado por tudo, obrigado por seu tempo.

  12. Escala diz:

    Oi Eliseu, primeiro eu quero parabenizar você no blog .. é muito bom e serviu-me bem.
    Agora eu faço uma consulta:
    Considerando o primeiro exemplo
    item = New ListViewItem ("Nome 1")
    "Agora isso eu adicionar um objeto de item
    'Item Sub-para cada dados adicionais
    item.SubItems.Add ("Nome 1")
    item.SubItems.Add ("Endereço 1")
    item.SubItems.Add ("Phone 1")
    "Resta apenas acrescentar o item para ordenar
    Coleção 'ListViewItem de objetos de
    "ListView1 da mesma maneira que fizemos antes
    ListView1.Items.Add (item)

    Como eu posso fazer para passar os subitens a caixa de texto diferente?

    Cumprimentos e obrigado

    • Escala diz:

      E resolvê-lo, a direita fora da guia para mudar o listview.

      Atenciosamente

    • Eliseu diz:

      para se referir aos subitens diferentes basta usar um índice como mostro abaixo:

      TextBox1.Text item.subitems = (0). Texto
      item.subitems textBox2.Text = (1). texto
      item.subitems textBox3.Text = (2). texto

      Sorte

  13. Martin diz:

    Preciso de ajuda com uma pergunta que eu tenho há muito tempo e ninguém conseguia resolver. Posicione um banco de dados completo em um listview, a questão é que, como eu estou adicionando esses dados são carregados no final e lá vem um tempo não parecer que eu possa fazer para manter a barra de rolagem no final para ver a última coisa que eu acrescentando.
    Desde já muito obrigado

  14. Da Silva disse, em julho:

    Amigo eu tenho um problema. Reiniciando o sistema operacional ou reformatar o meu computador no meu sistema eu não consigo ver o listview do código de programação. Estou usando o Visual Net 2003.
    Para dar informações um pouco mais o programa foi criado pela primeira vez em VB4 para VB6 e agora migrou para trabalhar em Visual NET 2003. Eu preciso instalar para ver o código fonte em listview .. -

  15. kiraleo diz:

    olahe muito procurado no listview e eu gostaria de me ajudar com a mudança para um próximo item em um listview
    como um listview.nextitem paar função do código como um dos dois botões para fazer a seguir e um anterior

    Agradecemos a sua ajuda

  16. Padarinis diz:

    Olá no Houve VB.60 a possibilidade de colocar uma chave e ele estava escondido. O que acontece é que eu tenho que preencher um listview com numerados de 1 a 10, mas a identificação de cada cliente tem que ser escondido. Então, quando você abre um listview. Puero janela ina para carregar os dados a partir do qual seriam escondidos Dela ID. AH. e também pode colocar ícones em cada linha ..

  17. gabox diz:

    Oi

    Muito bom o seu blog também tem um monte de estética ... que é rara em desenvolvedores ;)
    Agora, minha pergunta é esta:
    Qualquer exemplo que preencher um listview de uma tabela hash que contém várias instâncias de uma classe específica? Eu sei que eu uso um foreach, mas quando em execução, o listview é "em branco". Eu não sei se eu o expressar.
    Muito obrigado pela sua resposta.

    • gabox diz:

      Oi

      Sobre o meu problema eu esclarecer que eu descobri como fazê-lo funcionar, basta que eu faço fora do TabControl que foi o listview, porque eu estava em um TabControl e que não vai funcionar?
      Muito obrigado por qualquer resposta.

  18. Miguel diz:

    Olá
    Espero que alguém possa me ajudar.
    o meu problema com exibição de lista é que eu enviar informações via código, pois eu gerar as chaves e dados de meus produtos com um pouco de informação que me dá o usuário e os dados depois de os do listview enviá-los para uma base dados, até que eu tenho tudo aqui, mas normalmente bem antes de salvar o usuário precisa modificar dados nos subitens são eo que eu posso fazer é modificar o sub-itens DADOS alguém pode me ajudar porque eu entro em pânico e não consegue encontrar o solução, graças à mão

  19. João diz:

    Olá,

    A consulta, como eu posso dizer quando scrool horizontal ativado um listview no vb net.

    Atenciosamente

    Juan carlos

  20. Diana diz:

    Olá,

    Gostaria de saber como postar fotos em um listview, ou seja, dispostos em colunas dados buscados a partir de um banco de dados usando dataset, mas eu quero que quando aparezce os dados como nome, aparece ao lado da imagem dessa pessoa.

    Eu aprecio muito a sua ajuda

  21. Alfredo diz:

    Eu gostaria de saber como postar um ListView com uma tabela do Access, um sencillito exemplo, porque não há nenhuma maneira de obtê-lo.
    Obrigado

Comentar