GridView.AutoGenerateEditButton Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um valor que indica se uma coluna do campo CommandField com um botão Editar para cada linha de dados é adicionada automaticamente a um controle GridView.
public:
virtual property bool AutoGenerateEditButton { bool get(); void set(bool value); };
public virtual bool AutoGenerateEditButton { get; set; }
member this.AutoGenerateEditButton : bool with get, set
Public Overridable Property AutoGenerateEditButton As Boolean
Valor da propriedade
true
para adicionar automaticamente uma coluna de campo CommandField com um botão Editar a cada linha de dados; caso contrário, false
. O padrão é false
.
Exemplos
O exemplo a seguir demonstra como usar a AutoGenerateEditButton propriedade para habilitar o recurso de edição automática do GridView controle.
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AdventureWorksLTDataClassesDataContext"
EnableDelete="True" EnableInsert="True" EnableUpdate="True"
TableName="SalesOrderDetails">
</asp:LinqDataSource>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataKeyNames="SalesOrderID,SalesOrderDetailID"
DataSourceID="LinqDataSource1">
<Columns>
<asp:CommandField ShowDeleteButton="True"
ShowEditButton="True" />
<asp:BoundField DataField="SalesOrderID"
HeaderText="SalesOrderID" ReadOnly="True"
SortExpression="SalesOrderID" />
<asp:BoundField DataField="SalesOrderDetailID"
HeaderText="SalesOrderDetailID" InsertVisible="False"
ReadOnly="True" SortExpression="SalesOrderDetailID" />
<asp:BoundField DataField="OrderQty"
HeaderText="OrderQty" SortExpression="OrderQty" />
<asp:BoundField DataField="ProductID"
HeaderText="ProductID" SortExpression="ProductID" />
<asp:BoundField DataField="UnitPrice"
HeaderText="UnitPrice" SortExpression="UnitPrice" />
<asp:BoundField DataField="ModifiedDate"
HeaderText="ModifiedDate" SortExpression="ModifiedDate" />
</Columns>
</asp:GridView>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AdventureWorksLTDataClassesDataContext"
EnableDelete="True" EnableInsert="True" EnableUpdate="True"
TableName="SalesOrderDetails">
</asp:LinqDataSource>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataKeyNames="SalesOrderID,SalesOrderDetailID"
DataSourceID="LinqDataSource1">
<Columns>
<asp:CommandField ShowDeleteButton="True"
ShowEditButton="True" />
<asp:BoundField DataField="SalesOrderID"
HeaderText="SalesOrderID" ReadOnly="True"
SortExpression="SalesOrderID" />
<asp:BoundField DataField="SalesOrderDetailID"
HeaderText="SalesOrderDetailID" InsertVisible="False"
ReadOnly="True" SortExpression="SalesOrderDetailID" />
<asp:BoundField DataField="OrderQty"
HeaderText="OrderQty" SortExpression="OrderQty" />
<asp:BoundField DataField="ProductID"
HeaderText="ProductID" SortExpression="ProductID" />
<asp:BoundField DataField="UnitPrice"
HeaderText="UnitPrice" SortExpression="UnitPrice" />
<asp:BoundField DataField="ModifiedDate"
HeaderText="ModifiedDate" SortExpression="ModifiedDate" />
</Columns>
</asp:GridView>
Comentários
Quando um controle de fonte de dados que dá suporte à atualização está associado a um GridView controle, o GridView controle pode aproveitar os recursos do controle da fonte de dados e fornecer funcionalidade de atualização automática.
Observação
Para que um controle da fonte de dados atualize os dados, ele deve ser configurado para atualizar dados. Para configurar um controle de fonte de dados para atualizar registros, consulte a documentação do controle de fonte de dados específico.
Quando a AutoGenerateEditButton propriedade é definida como true
, uma coluna (representada por um CommandField objeto) com um botão Editar para cada linha de dados é adicionada automaticamente ao GridView controle. Clicar em um botão Editar para uma linha coloca essa linha no modo de edição. Quando uma linha está no modo de edição, cada campo de coluna na linha que não é somente leitura exibe o controle de entrada apropriado, como um TextBox controle, para o tipo de dados do campo. Isso permite que o usuário modifique o valor do campo.
Quando clicado, o botão Editar também é substituído por um botão Atualizar e um botão Cancelar. Clicar no botão Atualizar atualiza a linha na fonte de dados com qualquer alteração de valor e retorna a linha para o modo de exibição. Clicar no botão Cancelar abandona as alterações de valor e retorna a linha para o modo de exibição.
Observação
Você pode colocar uma linha programaticamente no modo de edição definindo a EditIndex propriedade com o índice da linha. Para sair programaticamente do modo de edição, defina a EditIndex propriedade como -1.
Ao usar a funcionalidade de atualização interna, você deve definir a DataKeyNames propriedade com uma lista separada por vírgulas de nomes de campo para identificar o campo de chave principal ou os campos da fonte de dados; caso contrário, a funcionalidade de atualização interna não poderá atualizar o registro correto. Ao usar colunas de campo geradas automaticamente (definindo a AutoGenerateColumns propriedade como true
), o GridView controle garante automaticamente que as colunas de campo geradas automaticamente que correspondem ao campo ou campos especificados na DataKeyNames propriedade sejam somente leitura.
Você pode controlar a aparência de uma linha que está no modo de edição usando a EditRowStyle propriedade. As configurações comuns geralmente incluem uma cor da tela de fundo personalizada, cor do primeiro plano e propriedades de fonte.
O GridView controle fornece vários eventos que você pode usar para executar uma ação personalizada quando uma linha é atualizada. A tabela a seguir lista os eventos disponíveis.
Evento | Descrição |
---|---|
RowCancelingEdit | Ocorre quando o botão Cancelar de uma linha é clicado, mas antes que o GridView controle cancele o modo de edição. Esse evento geralmente é usado para interromper a operação de cancelamento. |
RowEditing | Ocorre quando o botão Editar de uma linha é clicado, mas antes de o controle GridView entrar em modo de edição. Esse evento geralmente é usado para cancelar a operação de edição. |
RowUpdated | Ocorre quando o botão Atualizar de uma linha é acionado, mas depois de o controle GridView atualizar a linha. Esse evento geralmente é usado para verificar os resultados da operação de atualização. |
RowUpdating | Ocorre quando o botão Atualizar de uma linha é acionado, mas antes do controle GridView atualizar a linha. Esse evento geralmente é usado para cancelar a operação de atualização. |