Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Propiedad DetailsView.CurrentMode

 

Publicado: octubre de 2016

Obtiene el modo de entrada de datos actual de la DetailsView control.

Espacio de nombres:   System.Web.UI.WebControls
Ensamblado:  System.Web (en System.Web.dll)

[BrowsableAttribute(false)]
public DetailsViewMode CurrentMode { get; }

Valor de propiedad

Type: System.Web.UI.WebControls.DetailsViewMode

Uno de los valores de DetailsViewMode.

Utilice la CurrentMode propiedad para determinar si la DetailsView es el control de edición, inserción o de sólo lectura. En la tabla siguiente se enumera los valores de modo diferente.

Modo

Descripción

DetailsViewMode.Edit

El DetailsView control está en modo de edición, que permite al usuario actualizar los valores de un registro.

DetailsViewMode.Insert

El DetailsView control está en modo de inserción, que permite al usuario agregar un nuevo registro al origen de datos.

DetailsViewMode.ReadOnly

El DetailsView control está en modo de sólo lectura, que es el modo de presentación normal.

Este valor normalmente se establece automáticamente el DetailsView control cuando se hace clic en el botón de comando nuevo, actualizar, insertar, eliminar o Cancelar. Puede cambiar el modo mediante programación utilizando la ChangeMode (método).

Cuando el DetailsView control cambia los modos, se provocan los eventos en la tabla siguiente. Esto le permite crear un controlador de eventos personalizado que ejecuta una rutina cuando se produce el evento.

Evento

Descripción

ModeChanged

Se produce cuando un botón de comando que cambia el modo de la DetailsView se hace clic en el control, pero después del cambio de modo.

ModeChanging

Se produce cuando un botón de comando que cambia el modo de la DetailsView se hace clic en el control, pero antes de los cambios de modo.

En el ejemplo de código siguiente se muestra cómo utilizar el CurrentMode propiedad para determinar si la DetailsView es el control de edición, inserción o de sólo lectura. Si el usuario intenta desplazarse a un tiempo de registro diferente el DetailsView control está en modo de edición, se cancela la operación de paginación.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">


    void CustomerDetailView_ItemCommand(Object sender, 
      DetailsViewCommandEventArgs e)
    {
        // Clear the error message if the user cancels the edit 
        // operation.
        if (e.CommandName == "Cancel")
        {
            ErrorMessageLabel.Text = "";
        }
    }

    protected void CustomerDetailView_PageIndexChanging(
      object sender, DetailsViewPageEventArgs e)
    {
        // Cancel the paging operation if the user tries to 
        // navigate to another record while in edit mode.
        if (CustomerDetailView.CurrentMode == DetailsViewMode.Edit)
        {
            e.Cancel = true;
            // Display an error message.
            ErrorMessageLabel.Text = 
              "You cannot navigate to another record while in edit mode.";
        }

    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>
            DetailsView CurrentMode Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        <h3>
            DetailsView CurrentMode Example</h3>
        <asp:DetailsView ID="CustomerDetailView" 
          DataSourceID="DetailsViewSource" 
          AutoGenerateRows="true"
          AutoGenerateEditButton="true" 
          DataKeyNames="CustomerID" 
          GridLines="Both" 
          AllowPaging="true"
          OnItemCommand="CustomerDetailView_ItemCommand" 
          runat="server" 
          OnPageIndexChanging="CustomerDetailView_PageIndexChanging">

          <HeaderStyle BackColor="Navy" ForeColor="White" />
        </asp:DetailsView>

        <br />

        <asp:Label ID="ErrorMessageLabel" 
          ForeColor="Red" runat="server" />

        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the web.config file.                            -->
        <asp:SqlDataSource ID="DetailsViewSource" runat="server" 
          ConnectionString=
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
          InsertCommand="INSERT INTO [Customers]([CustomerID],
            [CompanyName], [Address], [City], [PostalCode], [Country]) 
            VALUES (@CustomerID, @CompanyName, @Address, @City, 
            @PostalCode, @Country)"
          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] From 
            [Customers]">
        </asp:SqlDataSource>
    </form>
</body>
</html>

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: