Olá Noelson
Acabei fuçando com suas dicas e achei que a estratégia deve ver
1) cria o intervalo de banco de dados pra colocar o Autofiltro
2) obtem o decritor do Autofiltro deste intervalo
oDescritorFiltro = oIntervaloDB.getFilterDescriptor()
3) preenche o descritor com os criterios de campo
4) recoloca os critério no descritor no filtro
oDescritorFiltro.setFilterFields(oCamposFiltro())
5) manda ver na tela (refersh)
oIntervaloDB.refresh()
Obrigado
Olivier
Em 22 de junho de 2011 20:57, Noelson Duarte <noelsond@gmail.com> escreveu:
Olá Olivier,
Você precisa criar o descritor do filtro, usando o método
createFilterDescriptor( bFlag ).
Esse bFlag pode ser True ou False. Se True o descritor será criado do zero,
para que você mesmo defina as condições. Se False, ele herda as condições
do
filtro ativo.
Você pode, por exemplo, definir um filtro avançado manualmente e, então,
criar o seu descritor a partir destes critérios com uma chamada:
oDescritor = oIntervalo.createFilterDescriptor( False )
Além da propriedade AutoFilter, temos ainda:
UseFilterCriteriaSource -> define se usa um intervalo como critério
FilterCriteriaSource -> estrutura com o endereço do intervalo com os
critérios
Segue um trecho de código que cria e aplica um filtro num intervalo:
' -----------------------------------------------------------------
Dim oCamposFiltro(0) As New com.sun.star.sheet.TableFilterField
'
oDoc = ThisComponent
oPlan = oDoc.getSheets().getByIndex(0)
oExt = oPlan.getCellRangeByPosition(0,1,4,6)
' define a estrutura TableFilterField
oCamposFiltro(0).Field = 4
oCamposFiltro(0).IsNumeric = True
oCamposFiltro(0).Operator =
com.sun.star.sheet.FilterOperator.GREATER_EQUAL
oCamposFiltro(0).NumericValue = 300
' cria o descritor do filtro vazio (True)
oDescFiltro = oExt.createFilterDescriptor (True)
' define o campo de filtro
oDescFiltro.setFilterFields (oCamposFiltro())
' aplica o filtro
oExt.filter (oDescFiltro)
' ------------------------------------
Abraço.
--
Noelson
Em 22 de junho de 2011 16:34, Olivier Hallot <
olivier.hallot@documentfoundation.org> escreveu:
Olá
Tenho a necessidade de inseir um auto filtro lá com um dos valores
pre-selecionados.
O Autofiltro é criado em cima de um intervalo de banco de dados
ThisComponent.DataBaseRanges.addNewByName("nome123",oEnderecoIntervalo)
oIntervalo = ThisComponent.DataBaseRanges.getByName("nome123")
a partir dai eu só posso ativar o autofiltro
oIntervalo.AutoFilter = True
Mas eu não vejo como inserir um critério pre-selecionado
Alguma dica?
Grato
--
Olivier Hallot
Founder and Steering Commitee Member
The Document Foundation
--
Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
mande e-mail vazio para usuarios+help@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens:
http://listarchives.libreoffice.org/pt-br/usuarios/
--
Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
mande e-mail vazio para usuarios+help@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens:
http://listarchives.libreoffice.org/pt-br/usuarios/
--
Olivier Hallot
Founder and Steering Commitee Member
The Document Foundation
--
Você está recebendo e-mails da lista usuarios@pt-br.libreoffice.org
# Informações sobre os comandos disponíveis (em inglês):
mande e-mail vazio para usuarios+help@pt-br.libreoffice.org
# Cancelar sua assinatura: mande e-mail vazio para:
usuarios+unsubscribe@pt-br.libreoffice.org
# Arquivo de mensagens: http://listarchives.libreoffice.org/pt-br/usuarios/
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.