LISTVIEW - COLUNA COM CHECKBOX
Boas pessoal,
Tenho uma Listview para listar os dados da BD, e tenho um campo SIM/NÃO. Queria que ao listar os dados na Listview em vez de aparecer True/False, aparecesse uma checkbox com o visto ou não.
O código que uso para preeencher a Listview é:
Dim It As ListViewItem
ltw_precos.Items.Clear()
ltw_precos.View = View.Details
ltw_precos.FullRowSelect = True
With ltw_precos
.Columns.Add([Ô]Preço[Ô], 75, HorizontalAlignment.Left)
.Columns.Add([Ô]Unidade[Ô], 75, HorizontalAlignment.Left)
.Columns.Add([Ô]Tipo Embalagem[Ô], 150, HorizontalAlignment.Left)
.Columns.Add([Ô]Tipo Preço[Ô], 150, HorizontalAlignment.Left)
.Columns.Add([Ô]Activo[Ô], 50, HorizontalAlignment.Left)
End With
For Each ligacao.oDataRow In oDataTable.Rows
If Not oDataRow Is DBNull.Value Then
It = ltw_precos.Items.Add(oDataRow(2)) [ô]preco
It.SubItems.Add(oDataRow(5)) [ô]unidade
It.SubItems.Add(oDataRow(6)) [ô]Tipo Embalagem
It.SubItems.Add(oDataRow(7)) [ô]Tipo Preço
It.SubItems.Add(oDataRow(3)) [ô]activo (é nesta coluna que quero a checkbox)
It.SubItems.Add(oDataRow(0)) [ô]id_preco
It.SubItems.Add(oDataRow(1)) [ô]id_produto
It.SubItems.Add(oDataRow(4)) [ô]observacoes
End If
Será que alguém me pode indicar umas dicas para fazer isto?
Tenho uma Listview para listar os dados da BD, e tenho um campo SIM/NÃO. Queria que ao listar os dados na Listview em vez de aparecer True/False, aparecesse uma checkbox com o visto ou não.
O código que uso para preeencher a Listview é:
Dim It As ListViewItem
ltw_precos.Items.Clear()
ltw_precos.View = View.Details
ltw_precos.FullRowSelect = True
With ltw_precos
.Columns.Add([Ô]Preço[Ô], 75, HorizontalAlignment.Left)
.Columns.Add([Ô]Unidade[Ô], 75, HorizontalAlignment.Left)
.Columns.Add([Ô]Tipo Embalagem[Ô], 150, HorizontalAlignment.Left)
.Columns.Add([Ô]Tipo Preço[Ô], 150, HorizontalAlignment.Left)
.Columns.Add([Ô]Activo[Ô], 50, HorizontalAlignment.Left)
End With
For Each ligacao.oDataRow In oDataTable.Rows
If Not oDataRow Is DBNull.Value Then
It = ltw_precos.Items.Add(oDataRow(2)) [ô]preco
It.SubItems.Add(oDataRow(5)) [ô]unidade
It.SubItems.Add(oDataRow(6)) [ô]Tipo Embalagem
It.SubItems.Add(oDataRow(7)) [ô]Tipo Preço
It.SubItems.Add(oDataRow(3)) [ô]activo (é nesta coluna que quero a checkbox)
It.SubItems.Add(oDataRow(0)) [ô]id_preco
It.SubItems.Add(oDataRow(1)) [ô]id_produto
It.SubItems.Add(oDataRow(4)) [ô]observacoes
End If
Será que alguém me pode indicar umas dicas para fazer isto?
Cara,
Não tem como fazer isso do modo tradicional porque o ListView só tem CheckBox na frente do Primeiro item e não nos subitems.
Para fazer isso você terá de usar programação orientada a gambiarra. Veja a minha como ficou:
Pega o exemplo em anexo e veja se te serve pra alguma coisa.
Mas lembre-se que os check boxes NÃO são controles e sim textos do tipo Wingdings.
Então se você quiser que o [Ô]CheckBox[Ô] mude seu estado de selecionado, você terá de mexer no evento MouseUp e MouseDown para trocar o texto.
abraços
Não tem como fazer isso do modo tradicional porque o ListView só tem CheckBox na frente do Primeiro item e não nos subitems.
Para fazer isso você terá de usar programação orientada a gambiarra. Veja a minha como ficou:
Pega o exemplo em anexo e veja se te serve pra alguma coisa.
Mas lembre-se que os check boxes NÃO são controles e sim textos do tipo Wingdings.
Então se você quiser que o [Ô]CheckBox[Ô] mude seu estado de selecionado, você terá de mexer no evento MouseUp e MouseDown para trocar o texto.
abraços
Tópico encerrado , respostas não são mais permitidas