Pergunta

Eu tenho uma estrutura que a aparência seguinte

Class TreeNode  {
    public TreeNode Parent { get; }
    public IEnumerable<TreeNode> Children { get; }
    public . . . . 
}

Eu quero vincular a um asp.net telerik RadGrid com tabelas de detalhes para cada nível das crianças. Eu sei que suportes RadGrid declarativa ligação a uma hierarquia auto referência usando um controle de fonte de dados, mas que assume que você tem um conjunto de dados plana (por exemplo, a partir de um banco de dados) e pode olhar para um campo de chave pai de algum tipo. A minha pergunta tem alguém que esteja um RadGrid para uma estrutura de dados como este antes e há uma maneira de fazê-lo de forma declarativa ou principalmente declarativa?

Foi útil?

Solução

Eu não posso responder à sua pergunta diretamente desde que eu não tenho nenhuma experiência com a grade telerik, mas eu posso oferecer um trabalho em torno.

Adicionar um método para sua classe que achata o seu conteúdo em uma tabela de auto-referência como a estrutura como a que você mencionou. Desta forma, você pode ainda trabalhar com a classe e é a estrutura mais avançada como você quer, mas ainda pode saída o conteúdo em uma forma de consumo que coincide com as expectativas dos componentes de interface do usuário.

Este também é um bom candidato para um método de extensão também.

Outras dicas

Outra maneira possível que eu posso pensar é construir a hierarquia de forma dinâmica, filtrando a data para as tabelas filho com base em seu pai dentro do manipulador de grade DetailTableDataBind. Esta demonstração é uma boa referência:

http://demos.telerik.com /aspnet-ajax/grid/examples/programming/detailtabledatabind/defaultcs.aspx

mas devo concordar que a sugestão de Stephen pode ser mais útil.

Dick

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top