Notifications
Clear all

Assunto listview

17 Posts
2 Usuários
0 Reactions
4,341 Visualizações
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Bom dia Senhores,

Comecei este prijeto do zero, tentando copiar o maximo possivel as funçoes ja prontas para aprender de uma vez por todas ao menos o basico, mas tem casos que ainda nao sei nem por onde começar, aqui adapto, mas agora quero entender linha por linha e estou me esforçando bastante e sem nenhuma presa.

As duvidas que nao consiguo resolver sozinho sao:

frmLancamentos

1) Na Sub PreencherCabeçalhoLinhas, nao consegui mudar para fazer com q quando carregue, chame apartir da terceira linha, acaba que fica uma linha em branco no listview( este codigo copiei de outro formulario );
2) Clicando nos itens do listview1, gostaria de carregar os comandos para posteriormente, criar a funçao excluir ( quero fazer passo a passo para aprimorar meus conhecimentos e parar de encomodar vcs, rsrsrsrs ), ate busquei um codigo pronto, mas aparece so uma caixa de mensagem em branco.

Obs. O fato de estar salvando invertido e opçao minha.

Obrigado.

Fabio Pradella

 
Postado : 24/03/2012 9:21 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A Constante que define em qual linha está o Cabeçalho é :

Private Const LinhaCabecalho As Integer = 1 - A mesma se encontra na Declaração do Formulário.

E na Sub PreencherCabeçalhoLinhas a mesma é referenciada na Variável linha :

linha = LinhaCabecalho

[]s

 
Postado : 24/03/2012 4:44 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Boa noite Mauro,

E na segunda questao, pode dar uma mao???

Obrigado,

Fabio

 
Postado : 24/03/2012 6:50 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Não entendi sua questão.
No caso da...

2) Clicando nos itens do listview1, gostaria de carregar os comandos para posteriormente, criar a funçao excluir ( quero fazer passo a passo para aprimorar meus conhecimentos e parar de encomodar vcs, rsrsrsrs ), ate busquei um codigo pronto, mas aparece so uma caixa de mensagem em branco.

Seria algo do tipo.
Exemplo:.

Private Sub Form_Load()
With ListView1
    .ListItems.Add 1, , "Qualquer Texto"
    .ListItems.Add 2, , "Qualquer Texto"
End With
End Sub

Private Sub ListView1_Click()
ListView1.ListItems.Remove (ListView1.SelectedItem.Index)
End Sub

??????

 
Postado : 24/03/2012 7:26 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Boa noite Alexandre, quanto tempo, hehehehe

Assim, ao dar duplo click em uma linha do listview, esta açao preencheria os devido comandos do mesmo form( textboxdata, comboboxmotoqueiros,...), pensei em fazer isto para depois contruir o codigo para excluir, ou to viajando na maionese? como expliquei no inicio do topico, to montando este projetinho para exercitar mesmo, passo a passo( claro q depois var ter serventia tambem ).

Pesquisando na net achei este codigo mas da erro " O tipo definido pelo usuario nao foi definido"

Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick
Me.TextBox1.Text = Me.ListView1.SelectedItems(0).Text
Me.TextBox2.Text = Me.ListView1.SelectedItems(0).SubItems(1).Text
End Sub

Alexandre, se o caminho nao e este fala ai, hehehe.

Obrigado

Fabio

 
Postado : 24/03/2012 7:37 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Veja esse arquivo, deve te ajudar

Este exemplo explica uma maneira fácil de editar subitens ListView. Um duplo clique sobre o ListView.SubItem irá visualizar um TextBox sobrepondo o SubItem com o mesmo tamanho. Os sinais introduzidos serão gravados no SubItem

Faça um bom estudo, creio que deve ser próximo do que quer.

Att

 
Postado : 24/03/2012 7:50 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Permita-me...

No arquivo que vc postou no frmlancamentos tem isso.

 
Postado : 24/03/2012 7:51 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Boa noite Jose, nao entendi.

 
Postado : 24/03/2012 7:56 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Do ListiView para TextBox's: ;)

Dim Index As Integer

Index = (ListView1.SelectedItem.Index) 'linha do ListView

Me.TextBox1.Value = ListView1.ListItems(Index) '1ª coluna do ListView
'2ª coluna do ListView
Me.TextBox2.Value = ListView1.ListItems(Index).ListSubItems(1).Text
'3ª coluna do ListView
Me.TextBox3.Value = ListView1.ListItems(Index).ListSubItems(2).Text
'4ª coluna do ListView
Me.TextBox4.Value = ListView1.ListItems(Index).ListSubItems(3).Text
 
Postado : 24/03/2012 8:06 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Jose, valeu pela força. :D

Um grande abraço a voces todos.

Mas pergunto, este e um bom caminho para construir agora um codigo de alterar e outro para excluir usando sempre o mesmo form???

 
Postado : 24/03/2012 8:29 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Sim. :arrow:

 
Postado : 24/03/2012 9:11 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Jose Arnaldo, ou a quem interessar,

Estou adaptando um projeto de sua autoria e nao consigo resolver um erro,

No userform1, ja fiz as adaptaçoes para o meu projeto, carrega o combobox, a listview tudo beleza, mas quando tento digitar o nome na textbox2(filtro), da um erro que nao consegui entender. Gostaria de resolver neste formulario para depois fazer as adaptaçoes para o frmlancamentos.

Obrigado.

Fabio

 
Postado : 24/03/2012 10:52 pm
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Sem o arquivo nao da ne, foi mal...

 
Postado : 24/03/2012 11:16 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Vc está se referindo equivocadamente ao nome de planilha (Lancamentos.Cells(a, coluna)), utilize (Sheets("Lancamentos").cells...), ou Set Lancamentos = ThisWorkbook.Worksheets(NomePlanilha)

 
Postado : 25/03/2012 8:00 am
(@fabioprade)
Posts: 273
Reputable Member
Topic starter
 

Bom dia Reinaldo, obrigado pela ajuda, mas me responda uma coisa por favor, quando copiei este codigo, originalmente ele era assim

lngResultado = InStr(1, Plan1.Cells(a, coluna), strObjetoBuscar, vbTextCompare)
Achei que pela logica, bastava substituir a planilha

lngResultado = InStr(1, lancamentos.Cells(a, coluna), strObjetoBuscar, vbTextCompare)
Mas nao foi isso, gostaria de aprender o porque

lngResultado = InStr(1, Sheets("Lancamentos").Cells(a, coluna), strObjetoBuscar, vbTextCompare)

Mas ja agradeço pela resposta.

Fabio Pradella

 
Postado : 25/03/2012 8:28 am
Página 1 / 2