Pergunta

Eu preciso mostrar algo como abaixo.

Tipo A

  1. Tipo A Item 1
  2. Tipo A ponto 2
  3. Tipo A ponto 3

Tipo B

  1. Tipo B do item 1
  2. Tipo B ponto 2
  3. Tipo B ponto 3

Tipo C

  1. Tipo C ponto 1
  2. Tipo C ponto 2
  3. Tipo C ponto 3

Todos os dados vêm de um conjunto de dados com colunas 'Tipo' e 'ItemName'. Agora uma solução fácil seria criar um repetidor para cada 'Tipo' e filtrar o conjunto de dados por cada 'tipo'. No entanto, eu gostaria de usar apenas um repetidor e o problema é que eu preciso de alguma forma de reconhecer quando cada nova seção tem um cabeçalho.

<div>[Header][Item]</div>

[Header] = <b>Type A</b><br />
[Item] = Type A Item 1

Assim, apenas o primeiro item de cada tipo recebe um item de cabeçalho e todos os outros são definida como uma cadeia vazia.

Alguém sabe todos os truques que podem ajudar?

Foi útil?

Solução

Em vez de criar um repetidor para cada tipo, como sobre um repetidor aninhada?

http://www.codeproject.com/KB/aspnet/AspNetNestedRepeaters.aspx

Tente isso. Você ainda vai precisar de mais do que um repetidor, mas neste caso só seria dois que você precisa, e você não teria que fazer um para cada tipo (como você estava com medo), mas sim um para tipos, e um nested dentro dele para itens. O link acima deve dar-lhe um bom ponto de partida para investigar mais.

Outras dicas

Ok, eu só surgiu com uma solução. Embora seja muito sujo.

Eu criei uma variável global para rastrear os cabeçalhos. A variável é uma lista de strings. OnItemDatabind I verificar se o item de cabeçalho está na lista global.

Se o item não existe, eu adicioná-lo à lista e exibir o cabeçalho. Caso contrário, o item de cabeçalho está vazio.

Até agora, isso funciona, mas eu não sei como me sinto sobre isso.

Edit: Eu estou querendo saber se um outro controle pode funcionar melhor neste ...

Assumindo que eles estão classificadas por tipo, você não precisa manter uma lista inteira:. Apenas o item atual

Procure mais informações sobre o controle de relatórios / break.

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