Malcon M. Mikami
|
|
Group: Forum Members
Posts: 60,
Visits: 1.3K
|
As I can do to only select (seektoprimarykey or seek(where)) in a browserdialog? Has as I know what the filter used? Or which enrollment selected for after search with a seek? Como posso fazer para apenas selecionar (seektoprimarykey ou seek(where)) em um browserdialog? Tem como eu saber qual o filtro utilizado? Ou qual registro selecionado para depois pesquisar com um seek?
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Why will you need that information? What are you trying to accomplish?
Edhy Rijo
|
|
|
Malcon M. Mikami
|
|
Group: Forum Members
Posts: 60,
Visits: 1.3K
|
Forgive my English, I will reformulate the question. Today to find a given, we used the BrowserDialog on BO. The problem is that the BrowserDialog makes a FILL in BO, what one obliges the user to make a new search to return to all the data of BO. As I could make to only the BrowserDialog make a search (Seek) and not a filter (Fill) in the data? Desculpe o meu inglês, vou reformular a pergunta. Hoje para pesquisar um determinado dado, utilizamos o BrowserDialog sobre o BO. O problema é que o BrowserDialog faz um FILL no BO, oque obriga ao usuário a fazer uma nova pesquisa para retornar a todos os dados do BO. Como eu poderia fazer para apenas o BrowserDialog fazer uma pesquisa (Seek) e não um filtro (Fill) nos dados?
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Hi, I am sorry, still I don't quite understand your question or problem. It looks like it has something to do with the records found in the Browser Dialog which are copied to your form's BO. There is a property of the BD ReturnSelectedRecordOnly which control how records are copied back to the form's BO. I am sure Ivan will get here at any time and would be able to figure out what your problem is to help you out. I also read/speak Spanish but have not luck with Portuguese, I may understand a bit but in this case not enough to help you.
Edhy Rijo
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Hiya, sorry for not showing up before, I am out of the office today. Well, I think you want to be able to keep the last BO search result, and when the user go back to the Browse Dialog the previous result show up without having the need to enter the search criteria, is that so?
|
|
|
Malcon M. Mikami
|
|
Group: Forum Members
Posts: 60,
Visits: 1.3K
|
Ivan. Vamos la em bom e velho portugues... rs Tabela Grupo [codigo] [descricao] 1 - teste 2 -teste 2 3- outro 4 - outro 2 Estou usando o mesmo BO no form e no browserDialog. Quando faço um browsedialog e filtro pela palavra teste como na imagem o meu BO do formulario passa a ter apenas 2 registros (teste e teste2). Tenho que abrir novamente o browserdialog, fazer uma pesquisa sem nada para que todos os registros do BO volte. Não tem como ele somente fazer a pesquisa sem fazer o filtro? http://interno.sistemairis.com.br/br/filtro.jpg
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Oi Ronald. O BrowseDialog na verdade não filtra seu BO em nenhum momento. Quanto você faz uma busca e preenche os campos de procura, o BD vai ao seu banco de dados e traz de volta os registros que correspondem aos critérios passados, como no seu exemplo contendo a palavra "teste" no se campo IGR_DESCRICAO. Quando você clicka OK, o BD popula o Business Object que você setou como BusinessObjectToPopulate, e neste instante tudo o que o seu BO possui são os registros que satisfizeram seus critérios de busca, nenhum outro foi trazido do banco de dados, logo não existe um filtro para que seja mostrado para você só os registros com a palavra "teste". Por isto, se você quiser popular seu BO com todos os registros da tabela, ou com algum outro critério qualquer, você precisará ir de volta ao BrowseDialog e oferecer os critérios que deseja, como no caso do seu exemplo, fazer uma busca sem nenhum critério, o que trará todos os registros do banco de dados, dentro do limite da propriedade do BO MaximumReturnedRecords.
|
|
|
Malcon M. Mikami
|
|
Group: Forum Members
Posts: 60,
Visits: 1.3K
|
Perfeito Ivan, entendi. Como eu poderia fazer para que o BD nao fizesse nova busca, somete me retorne o resultado selecionado da pesquisa para que o usuario apenas localize o dado, mas que continue navegando em todos os registros? Oque voce sugere?
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Bom Malcon, o BD não te serveria para isto, se eu entendi direito o que você quer fazer. Pelo jeito, você quer fazer uma busca dentro dos registros que já foram buscados antes, é isto? Provavelmente, você teria que desenvolver sua própria ferramente de busca. Com o BD como é hoje, o seu usuário teria que entrar com a condição para ter os registros com os quais ele precisa trabalhar a cada vez que fosse ao BD. Por curiosidade, por que você traria mais registros do que o necessário para popular o seu BO?
|
|
|
Malcon M. Mikami
|
|
Group: Forum Members
Posts: 60,
Visits: 1.3K
|
Não Ivan... não é uma nova busca. Vamos la.. quando uso o BD ele faço um filtro, ele vai ate meu banco de dados e popula novamemente me BO. Para usar o BD como um filtro nos dados isso esta 100%. Eu gostaria que o usuario apenas reposiciona-se o cursor no registro selecionado pelo BD. Entendeu?? Ex: meu bo tem 100 registros, quando o usuario ir ao BD, informar o criterio de pesquisa, eu queria apenas que ele reposiciona-se no registro selecionado, e nao repopula-se o BO com os novos registros que atendem a esse criterio. Se ele digita-se a letra "M" no nome eu apenas faria um seek(where nome like "M%"); e posicionaria no primeiro registro que atende a esse paramentro. Ele continua a navegar em todos os registros. Acho que o BD nao faz isso, mas se ele tiver um parametro ou metodo com os paramentros informados pelo usuario na pesquisa dele, no retorno do BD eu implementaria o metodo atraves do Seek(where) no meu formulario, entendeu? Como voce indicaria fazer?
|
|
|