Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Deve haver algo mais inserido neste processo na sua lógica. Se o BrowseDialog retornar 6 registros, o seu BusinessObjectToPopulate vai ter 6 registro quando voltar.
|
|
|
Malcon M. Mikami
|
|
Group: Forum Members
Posts: 60,
Visits: 1.3K
|
Ivan desconsidera a parte onde falo sobre o SQL, entendi oque o SF faz, quando ele cria o list ele ja tem os dados para onde ele ira clonar. Mas nao entendi pq ele continua retornando 14 linhas. Ja que ele sobrescreveu os dados antigos..
|
|
|
Malcon M. Mikami
|
|
Group: Forum Members
Posts: 60,
Visits: 1.3K
|
Boa ideia Ivan, Vou criar o formulario de de pesquisa. Outra duvida. Tenho um BO com 14 registros (boEstados.Count.ToString()), apos fazer o BD fiquei monitorando o banco para ver o criterio de pesquisa no SQL. Como voce havia me falado, ele nao filtra e sim popula novamente meu BO, o estranho que nao ha a chamado no SQL Profile e apos o BD que me retornou apenas 6 registro, se faço um count novamente ele continua a mostrar 14 registro, mas somente navego em 6. Oque pode ser?
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Malcon, por que você não cria um form com um textbox para usar de search field e até um listview abaixo dele com todos os registros atualmente populados no BO? Você poderia usar o textbox para uma procura incremental até, o usuário iria digitando e você iria fazendo um SEEK no BO. Quando ele desse um OK, seu BO estaria posicionado no registro escolhido. Tentar mexer no BrowseDialog pode se tornar uma grande dor de cabeça para você.
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Eu vou passar o seu pedido.
|
|
|
Malcon M. Mikami
|
|
Group: Forum Members
Posts: 60,
Visits: 1.3K
|
OK Ivan, obrigado pela paciencia. Vou alterar o BD pra prover esse servico. É possivel em uma proxima versao a inclusao desta sugestao? Att.
|
|
|
Ivan George Borges
|
|
Group: StrataFrame MVPs
Posts: 1.9K,
Visits: 21K
|
Então, acho que eu entendi direito sim. O que parece estar gerando confusão é o conceito de filtro. Você quer que o usuário vá ao BrowseDialog e que ele já tenha um BO populado e então faça esta busca (posicionar no registro que satisfaz a condição dada) no BO já populado. Aí que está. O BD sempre irá ao banco de dados buscar os registros que satisfaçam seus critérios pedidos. Não há filtro. Acho que o que poderia te ajudar é utilizar um ListView no seu form que seja populado com o conteúdo do seu BO. Quando você popular o seu BO, por exemplo, através do resultado de um BrowseDialog, você copia o conteúdo deste seu BO para o seu ListView. Desta maneira, seu usuário poderia navegar entre os registros do ListView e parar naquele que ele desejar. Claro, se houver muitos registros no seu BO, esta pode não ser a melhor solução, e você teria que criar algum form de busca utilizando o seu BO já populado. o BrowseDialog não foi projetado para isto.
|
|
|
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?
|
|
|
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
|
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?
|
|
|