BrowseDialog - SearchFields - Error


Author
Message
Rogerio Mauri
Rogerio Mauri
StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Ivan... Boa Tarde...

Necessitarei da sua ajuda aqui, com seu bom inglês.

Observe as imagens do arquivo anexado. Um campo com um Combo BO anexado para pegar apenas os clubes habilitados para o usuário logado carrega os registros na interface de pesquisa (apaguei os dados do TopMost Text/Value para evitar que o filtro desconsidere esse campo na filtragem). No entanto o resultado da pesquisa exibe registros de outros clubes também.

ImagemConfA.jpg = Mostra o BO com Fill personalizado para trazer apenas os clubes habilitados para o usuário logado.

ImagemConfB.jpg = Onde apaguei os valores de TopMost (quero forçar a seleção).

ImagemConfC.jpg = A tela 'General' do campo IdClube configurada.

ImagemConfD.jpg = Todos os campos configurados para a pesquisa.

ImagemA.jpg = Observe que no combo exibe apenas um clube. No resultado da pesquisa, que está ordenado pelo primeiro campo, a coluna IDClube confirma que os registros do clube 1 foram listados.

ImagemB.jpg = Nesta imagem, observe que, no final, estão também os registros de outro clube (IDClube = 2) demonstrando que o módulo não filtrou corretamente os registros.

Aguardo seu retorno.

Rogério Mauri Smile



Attachments
ImagemA.jpg (157 views, 67.00 KB)
ImagemB.jpg (141 views, 62.00 KB)
ImagemConfA.jpg (170 views, 83.00 KB)
ImagemConfB.jpg (147 views, 84.00 KB)
ImagemConfC.jpg (152 views, 83.00 KB)
ImagemConfD.jpg (142 views, 59.00 KB)
Replies
Ivan George Borges
Ivan George Borges
Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)
Group: StrataFrame MVPs
Posts: 1.9K, Visits: 21K
Bom Rogério, este BrowseDialog está em uso com todo o pessoal que usa SF, ele deve estar funcionando de alguma maneira. Se você coloca um TopMost com o texto "Não Utilizado", é exatamente isto que irá acontecer, este critério de busca não será utilizado se o usuário escolher a opção "Não Utilizado".

É a mesma situação de um Textbox, se deixá-lo em branco, não será considerado para busca. A única maneira de se permitir um usuário não escolher nenhum item de um ComboBox para a sua busca, é fornecendo um valor de TopMost com um texto "Não Utilizado", senão você estaria obrigando o usuário a sempre utilizar um valor do ComboBox para a sua busca, o que pode inutilizar a utilização de um Combobox em Browse Dialogs.

Se você porém utilizar qualquer outro item do seu ComboBox, o index será diferente de zero, e o Value Member será utilizado para a busca no banco de dados. Logo, se você utilizar o TopMost da maneira que eu te descrevi, seu BrowseDialog certamente funcionará. 

Rogerio Mauri
Rogerio Mauri
StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Ivan... Mas é essa a intenção, obrigar o usuário a escolher uma opção de filtro, excluindo a opção "Não utilizar". Seria o mesmo que forçar o usuário a fornecer um texto de filtro em um cambo TextBox (ou seja, ele não poderia ser vazio); recurso que também não existe no BrowseDialog.

Rogério Mauri Smile

Rogerio Mauri
Rogerio Mauri
StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Um detalhe...

Concordo que se eu utilizar a opção "TopMost" o BrowseDialog irá tratá-la como tal. Mas a questão é que, no exemplo, limpei essa opção (ela não existe no combobox em tempo de execução). Portanto, se não existe, o SelectedIndex = 0 é um item válido do BO utilizado para popular o controle e o seu SelectedValue precisa ser considerado no filtro. Caso contrário, não faria sentido configurar ou não o TopMost.

Rogério Mauri Smile



Ivan George Borges
Ivan George Borges
Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)
Group: StrataFrame MVPs
Posts: 1.9K, Visits: 21K
Eu sei, entendi isto no início. Por isto que te falei que você deveria tentar usando o TopMost, pois ele me parece ser a única solução no momento tanto para o Combobox, já que é necessário haver um index que não vai gerar critério de busca.

Se você quer permitir busca em apenas alguns clubes, a estratégia provavelmente terá que ser diferente, utilizando os eventos do Browse Dialog, como o Searching, onde você pode manipular a busca a ser executada praticamente de qualquer maneira.

Rogerio Mauri
Rogerio Mauri
StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Ok... Irei verificar outras opções, se é possível, mas fica registrada uma sugestão e uma solicitação de correção:

a) Correção: Se limpar o TopMost não altera o comportamento da busca (desconsidera index = 0), então obrigatoriamente ele deverá ser configurado; caso contrário teremos a falha em tempo de execução caso o desenvolvedor limpe os parâmetros na aba General esperando o resultado que eu mesmo imaginei.

b) Sugestão: Ajustar o controle para interpretar que ausência do parâmetro TopMost indica que o filtro sempre deverá ser configurado com o valor do SelectedValue, independente do seu index.

Recomendo adotar a sugestão, pois ampliaria o poder do BrowseDialog como ferramenta de seleção de registros e pelo que analisei no código da classe não será difícil fazer esse ajuste. Inclusive, o entendimento da lógica na aba General, nesse caso, estaria mais consistente.

Rogério Mauri Smile



Ivan George Borges
Ivan George Borges
Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)Strategic Support Team Member (4.9K reputation)
Group: StrataFrame MVPs
Posts: 1.9K, Visits: 21K
OK, Rogério.

Depois eu vou traduzir sua mensagem e enviar para eles, mas eu sinceramente acho que esta é a funcionalidade esperada para o Combobox. Nenhum campo deveria ser obrigatório para preenchimento, é para isto que há o Searching evento para se manipular sua procura da maneira que for necessária.

Mas vou passar isto para eles.

Rogerio Mauri
Rogerio Mauri
StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Ok Ivan...

Permanecendo então a funcionalidade atual, o TopMost sempre será obrigatório. No entanto, nem precisa ter o campo TopMostValue (valor intrínseco), apenas o TopMostText (para poder colocar o texto personalizado). Afinal, o seu 'value' não é considerado.

Com isso o código do componente precisará ser reavaliado.



Rogério Mauri Smile



Rogerio Mauri
Rogerio Mauri
StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Ops...

Esqueci de algo importante.

Obrigado pelo acompanhamento e suporte.Smile

Rogério Mauri Smile



Rogerio Mauri
Rogerio Mauri
StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Ivan... Ainda sobre essa questão.

Observe o descritivo do Help sobre o controle, especificamente quanto a utilização do TopMost.

Na prática, condição para criar o "None" não é possível. Sempre da "All", independente do que você coloque no par Text/Value.



Rogério Mauri Smile



Trent Taylor
Trent Taylor
StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)StrataFrame Developer (14K reputation)
Group: StrataFrame Developers
Posts: 6.6K, Visits: 7K
Rogerio,

Let me jump in here because I have had a conversation with Ivan about this.  This is not a bug and works as it is intended to work.  If you wish to override the TopMost logic in the browse dialog, then your ONLY option is to handle the Searching event of the browse dialog and then implement your logic to counteract the default behavior.  This is a prime example of why this event was created.  This is not something that is going to change within the framework since doing what you are asking would actually break every other SF user out there and would not be backward compatible.  Even if we were to make a change, this would not be implemented for another version or two.  And since the preferred method to handle this is going to be through the Searching event, then you already have a solution to do exactly what you would like. 

I thought I better jump in here because you are pressing for an answer that you are not likely to get and I wanted you to be able to spend your time working through a solution using an existing mechanism that exists within the framework. 

Rogerio Mauri
Rogerio Mauri
StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Ok Trent...

Então, para finalizar este diálogo, poderia me dar um exemplo funcional de utilização do TopMostValue diferente de -1 ou 0 ?


 

Rogério Mauri Smile



Rogerio Mauri
Rogerio Mauri
StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
Rogerio Mauri (12/18/2008)
Então, para finalizar este diálogo, poderia me dar um exemplo funcional de utilização do TopMostValue diferente de -1 ou 0 ?  

Then, to finish this dialogue, could you give a functional example of use with different value of -1 or 0?

Rogério Mauri Smile



Rogerio Mauri
Rogerio Mauri
StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)StrataFrame User (439 reputation)
Group: StrataFrame Users
Posts: 205, Visits: 629
tks...

Rogério Mauri Smile

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Threaded View
Threaded View
Rogerio Mauri - 17 Years Ago
Ivan George Borges - 17 Years Ago
Rogerio Mauri - 17 Years Ago
Rogerio Mauri - 17 Years Ago
Ivan George Borges - 17 Years Ago
                         Não... Porque na verdade ele desconsidera o conteúdo do índice 0 (veja...
Rogerio Mauri - 17 Years Ago
                             Bom Rogério, este BrowseDialogestá em uso com todo o pessoalque usa...
Ivan George Borges - 17 Years Ago
                                 Ivan... Mas é essaa intenção, obrigar o usuário a escolher uma opção...
Rogerio Mauri - 17 Years Ago
                                     Um detalhe... Concordo que se eu utilizar a opção "TopMost"o...
Rogerio Mauri - 17 Years Ago
                                         Eu sei, entendi isto no início. Por isto que te falei que você deveria...
Ivan George Borges - 17 Years Ago
                                             Ok... Irei verificar outras opções, se é possível, mas fica registrada...
Rogerio Mauri - 17 Years Ago
                                                 OK, Rogério. Depois eu vou traduzir sua mensagem e enviar para eles,...
Ivan George Borges - 17 Years Ago
                                                     Ok Ivan... Permanecendo então a funcionalidade atual,o TopMost...
Rogerio Mauri - 17 Years Ago
                                                         Ops... Esqueci de algo importante. Obrigado pelo acompanhamento e...
Rogerio Mauri - 17 Years Ago
                                                             Ivan... Ainda sobre essa questão. Observe o descritivo do Help sobre...
Rogerio Mauri - 17 Years Ago
                                                                 Rogerio, Let me jump in here because I have had a conversation with...
Trent L. Taylor - 17 Years Ago
                                                                     Ok Trent... Então,para finalizar este diálogo, poderia me dar um...
Rogerio Mauri - 17 Years Ago
                                                                         [quote][b]Rogerio Mauri (12/18/2008)[/b][hr]Então,para finalizar este...
Rogerio Mauri - 17 Years Ago
                                                                             tks...
Rogerio Mauri - 17 Years Ago

Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search