Compartir vía


DetailsView.Fields Propiedad

Definición

Obtiene una colección de objetos DataControlField que representan los campos de fila explícitamente declarados en un control DetailsView.

public:
 virtual property System::Web::UI::WebControls::DataControlFieldCollection ^ Fields { System::Web::UI::WebControls::DataControlFieldCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public virtual System.Web.UI.WebControls.DataControlFieldCollection Fields { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.Fields : System.Web.UI.WebControls.DataControlFieldCollection
Public Overridable ReadOnly Property Fields As DataControlFieldCollection

Valor de propiedad

DataControlFieldCollection

Colección DataControlFieldCollection que contiene todos los campos de fila declarados explícitamente en el control DetailsView.

Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo agregar declarativamente campos de fila a la Fields colección de un DetailsView control .


<%@ 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">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView Fields Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView Fields Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          AutoGenerateRows="false"
          allowpaging="true"
          runat="server">
               
        <Fields>
         <asp:BoundField 
           DataField="CompanyName" 
           HeaderText="Company Name"/>
         <asp:BoundField 
           DataField="City" 
           HeaderText="City"/>
        </Fields>
                    
        </asp:detailsview>
        
        <!-- 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>

<%@ Page language="VB" %>

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

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView Fields Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView Fields Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          AutoGenerateRows="false"
          allowpaging="true"
          runat="server">
               
        <Fields>
         <asp:BoundField 
           DataField="CompanyName" 
           HeaderText="Company Name"/>
         <asp:BoundField 
           DataField="City" 
           HeaderText="City"/>
        </Fields>
                    
        </asp:detailsview>
        
        <!-- 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>

Comentarios

Al declarar explícitamente los campos de fila de un DetailsView control, estos campos de fila se almacenan en la Fields propiedad (colección). La Fields colección también permite administrar mediante programación la colección de filas declaradas explícitamente.

Nota

Los campos de fila declarados explícitamente se pueden usar en combinación con campos de fila generados automáticamente. Cuando se usan ambos, los campos de fila declarados explícitamente se representan primero, seguidos de los campos de fila generados automáticamente. Los campos de fila generados automáticamente no se agregan a la Fields colección.

Los distintos tipos de campo de fila determinan el comportamiento de las filas del control . En la tabla siguiente se muestran los distintos tipos de campo de fila que se pueden usar en la Fields colección.

Tipo de campo de fila Descripción
BoundField Muestra el valor de un campo de un origen de datos como texto.
ButtonField Muestra un botón de comando en el DetailsView control . Esto le permite mostrar una fila con un control de botón personalizado, como un botón Agregar o quitar.
CheckBoxField Muestra una casilla en el DetailsView control . Este tipo de campo de fila se usa normalmente para mostrar campos con un valor booleano.
CommandField Muestra los botones de comandos integrados para realizar operaciones de edición, inserción o eliminación en el DetailsView control.
HyperLinkField Muestra el valor de un campo de un origen de datos como hipervínculo. Este tipo de campo de fila permite enlazar un segundo campo a la dirección URL del hipervínculo.
ImageField Muestra una imagen en el DetailsView control .
TemplateField Muestra el contenido definido por el usuario para una fila en el DetailsView control según una plantilla especificada. Este tipo de campo de fila permite crear un campo de fila personalizado.

Para declarar explícitamente los campos de fila de un DetailsView control, establezca primero la AutoGenerateRows propiedad en false. A continuación, agregue etiquetas de apertura y cierre <Fields> entre las etiquetas de apertura y cierre del DetailsView control. Por último, enumere los campos de fila que desea incluir entre las etiquetas de apertura y cierre <Fields> . Los campos de fila se muestran en el DetailsView control en el orden en que los campos de fila aparecen en la Fields colección.

Aunque puede agregar campos de fila a la Fields colección mediante programación, es más fácil enumerar los campos de fila mediante declaración en el DetailsView control y, a continuación, usar la Visible propiedad de cada campo de fila para mostrar u ocultar el campo de fila.

Si la Visible propiedad de un campo de fila se establece falseen , la fila no se muestra en el DetailsView control y los datos de la fila no realizan un recorrido de ida y vuelta al cliente. Si desea que los datos de una fila que no sean visibles para realizar un recorrido de ida y vuelta, agregue el nombre del campo a la DataKeyNames propiedad .

Se aplica a

Consulte también