none
PAGINAÇÃO DADOS SP RRS feed

  • Pergunta

  • Ola pessoal seguindo este artigo do Ramon .. http://www.imasters.com.br/artigo/4178/aspnet/paginando_dados_com_sqlserver_20002005/

    onde tenho dados paginados, assim eu retorno pra minha pagina apenas os dados de 10 em 10, até funcionou, mais tenho o seguinte problema..

    SP..

    ALTER PROCEDURE [dbo].[usp_BuscaTecnicoAtivoInativo]
     

    (
    @startRowIndex int,
    @maximumRows int,
    @Ativo as bit,
    @rowsCount int output
    )

    AS
    Begin


    SET @startRowIndex = @startRowIndex +1

    set @rowsCount=(SELECT count(idusuario) FROM Usuario_Geral);

    WITH paginacaoUsuario AS
    (
    SELECT idusuario,nome,usuario,Convert(varchar(10),datacadastro,103) as dt,
        tipo,ramal,ativo,
    ROW_NUMBER() OVER (order by idusuario)as RowNumber
    FROM Usuario_Geral
    )

       
     SELECT idusuario, nome, usuario,dt,
        ramal,ativo
        
    FROM paginacaoUsuario
    WHERE RowNumber between @startRowIndex and @startRowIndex+@maximumRows
      and ativo = 0
     and tipo = 2 order by idusuario

    End



    deu pra ver ai que  eu quero os registros que o campo ativo =0 e tipo = 2 ,  o que acontece é o seguinte..

    tenho 30 usuarios.. e quero paginar os dados de 10 em 10.. entao os meus primeiros 10 usuarios eu só tenho 1 usuario com ativo = 0 e tipo = 2,      depois do 16 º registro  eu tenho outro usuario com as mesmas caracteristicas, ai na minha consulta ele me retorna os primeiros 10 e um registro apenas no grid, ai na segunda pagina me retorna mais 1 registro, e assim em diante..   se eu colocar ele pra paginar de 30 em 30 , claro que ele pega tudo. mais quero de 10 em 10, e nesses 10 mostre todos os usuarios que estejam ativo 0 e tipo = 2,  ja tentei mudar essa linha

    set @rowsCount=(SELECT count(idusuario) FROM Usuario_Geral) where tipo = 2;

    ai ele me retorna no total 8 registros..  retorna certo, portanto entao se eu exibir de 10 em 10 estes 8 registros parece dar certo, mais nao consigo..  alguem sabe como mudar isso???

    grato...


    RESUMINDO >> SE ENTRE OS 10 PRIMEIROS REGISTROS NAO TIVER ALGUM REGISTRO QUE SATISFAÇA MINHA CONDIÇÃO SIMPLESMENTE ELE NAO MOSTRA A PAGINAÇÃO.. AI ME FERRA...


    quarta-feira, 21 de novembro de 2007 18:39

Todas as Respostas