Classificando quando duas grades estão na mesma página
-
27-10-2019 - |
Pergunta
Na minha página eu tenho dois webGrids. Quando eu clicar em uma para classificar essa coluna, tanto das grelhas são classificadas nessa coluna. Classificando em uma coluna que é apenas em um, não sorte em tudo.
notei os trabalhos de classificação, fazendo o cabeçalho um link para a mesma página com na cadeia de consulta uma coluna e uma direção. Isto explica que ambas as redes são afetados. Eu queria saber se o WebGrid tem algumas funcionalidades para resolver o meu problema ou devo corrigir sozinho.
A maneira Estou planejando para "corrigir sozinho" é a primeira a adicionar atributos um id para as tags de tabela definindo as htmlAttributes. Então eu vou usar jQuery para encontrar este ID para cada WebGrid e incorporar esse ID nos parâmetros ligações. Em seguida, ao carregar uma página com uma grade vou forcably definir qual coluna para classificar com base nesses parâmetros.
Parece-me o WebGrid não foi concebido para estar em uma página com outro WebGrid. No entanto, sinto que na minha situação é desejado. Eu prefiro usar alguma forma padrão (construída em ou apenas o que todo mundo usa).
Portanto, a questão é, qual é a melhor maneira de fazê-lo? E se não há melhor maneira, é a minha maneira uma boa maneira (eu esquecer alguma coisa)?
Agradecemos antecipadamente.
Solução
Eu acho que você precisa definir as seguintes propriedades:
string fieldNamePrefix = null
//The value which prefixes the default querystring fields
string pageFieldName = null
//A value that replaces the default querystring page field
var grid1 = new WebGrid(canPage: true, canSort: true, ajaxUpdateContainerId: "grid1", fieldNamePrefix:"g1",pageFieldName: "p1");
var grid2 = new WebGrid(canPage: true, canSort: true, ajaxUpdateContainerId: "grid2", fieldNamePrefix:"g2",pageFieldName: "p2");