ASP.NET: Um dado editáveis ??controle em cada registro ligado?
Pergunta
Precisamos mostrar o resultado de uma instrução SQL SELECT em uma página web ASP.NET 3.5. Embora haja um número de colunas que precisam ser exibido, apenas uma das colunas precisa de uma caixa de texto editável nele ... no entanto todos os registros no conjunto de resultados precisa dessa caixa de texto editável.
Eu sei que posso fazer isso manualmente através da construção de uma tabela html mim, mas eu estava esperando que houvesse uma maneira de usar um controle de dados-bound (GridView? Ou ListView?) Para fazê-lo.
Ser um pouco novo para ASP.NET, estou esperando há alguém lá fora que tem feito isso.
- Obrigado por sua ajuda
Um pouco mais esclarecimentos ....
Precisamos de todos os registros para ser editável imediatamente após display - para que todos os registros nem precisa ser exibida no modo de edição simultaneamente - ou as necessidades do modo de exibição regulares para ter uma caixa de texto editável nele
.Solução
Use um GridView e converter a coluna que você quer ser editável para Modelo. No ItemTemplate deste campo, exclua o rótulo e adicionar uma caixa de texto.
Adicionar um botão extra "Save" fora do GridView, e repita os GridRows, encontrar a caixa de texto (em cada linha), e usá-lo para atualizar o banco de dados.
Outras dicas
Adicione uma coluna de modelo e, em seguida, adicionar um controle de caixa de texto em vez de um controle de rótulo
GridView BoundFields têm a propriedade ReadOnly
que pode ser usado para impedir que o campo seja editado no modo Editar. Defini-lo como True para todas as colunas que não devem ser editável.
<asp:boundfield datafield="myNonEditableColumn" Readonly="true" Headertext="My Non-Editable Column"/>