GridView.AutoGenerateEditButton Propriedade

Definição

Recebe ou define um valor que indica se uma CommandField coluna de campo com um botão Editar para cada linha de dados é automaticamente adicionada a um GridView controlo.

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 de Propriedade

true adicionar automaticamente uma CommandField coluna de campo com um botão Editar para cada linha de dados; caso contrário, false. A predefinição é false.

Exemplos

O exemplo seguinte demonstra como usar a AutoGenerateEditButton propriedade para ativar a funcionalidade de edição automática do GridView controlo.

<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>

Observações

Quando um controlo de fonte de dados que suporta a atualização está vinculado a um controlo GridView , o GridView controlo pode tirar partido das capacidades do controlo de fonte de dados e fornecer funcionalidade de atualização automática.

Note

Para que um controlo de fontes de dados atualize os dados, deve estar configurado para atualizar os dados. Para configurar um controlo de fonte de dados para atualizar registos, consulte a documentação do controlo de fonte de dados específico.

Quando a AutoGenerateEditButton propriedade é definida para true, uma coluna (representada por um CommandField objeto) com um botão Editar para cada linha de dados é automaticamente adicionada ao GridView controlo. Clicar num botão Editar para uma linha coloca essa linha em modo de edição. Quando uma linha está em modo de edição, cada campo de coluna na linha que não é apenas leitura apresenta o controlo de entrada apropriado, como um TextBox controlo, para o tipo de dado do campo. Isto permite ao utilizador modificar 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 quaisquer alterações de valor e devolve a linha ao modo de visualização. Clicar no botão Cancelar abandona quaisquer alterações de valor e devolve a linha ao modo de visualização.

Note

Podes colocar programaticamente uma linha em 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 para -1.

Ao utilizar a funcionalidade de atualização incorporada, deve definir a DataKeyNames propriedade com uma lista separada por vírgulas dos nomes dos campos para identificar o campo ou campos da chave principal da fonte de dados; caso contrário, a funcionalidade de atualização incorporada não conseguirá atualizar o registo correto. Ao usar colunas de campo geradas automaticamente (definindo a AutoGenerateColumns propriedade para true), o GridView controlo garante automaticamente que as colunas de campo geradas automaticamente que correspondem ao campo ou campos especificados na DataKeyNames propriedade são de apenas leitura.

Pode controlar a aparência de uma linha que está em modo de edição usando a EditRowStyle propriedade. As definições comuns geralmente incluem uma cor de fundo personalizada, cor de primeiro plano e propriedades de fonte.

O GridView controlo fornece vários eventos que pode usar para realizar uma ação personalizada quando uma linha é atualizada. A tabela seguinte lista os eventos disponíveis.

Event Description
RowCancelingEdit Acontece quando o botão Cancelar de uma linha é clicado, mas antes do GridView controlo sair do modo de edição. Este evento é frequentemente usado para travar a operação de cancelamento.
RowEditing Ocorre quando o botão Editar de uma linha é clicado, mas antes do GridView controlo entrar no modo de edição. Este evento é frequentemente usado para cancelar a operação de edição.
RowUpdated Ocorre quando o botão Atualizar de uma linha é clicado, mas depois de o GridView controlo atualizar a linha. Este evento é frequentemente usado para verificar os resultados da operação de atualização.
RowUpdating Ocorre quando o botão Atualizar de uma linha é clicado, mas antes de o GridView controlo atualizar a linha. Este evento é frequentemente usado para cancelar a operação de atualização.

Aplica-se a

Ver também