DetailsView.Fields DetailsView.Fields DetailsView.Fields DetailsView.Fields Property

Definición

Obtiene una colección de objetos DataControlField que representan los campos de fila explícitamente declarados en un control DetailsView.Gets a collection of DataControlField objects that represent the explicitly declared row fields in a DetailsView control.

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; }
member this.Fields : System.Web.UI.WebControls.DataControlFieldCollection
Public Overridable ReadOnly Property Fields As DataControlFieldCollection

Valor de propiedad

Colección DataControlFieldCollection que contiene todos los campos de fila declarados explícitamente en el control DetailsView.A DataControlFieldCollection that contains all explicitly declared row fields in the DetailsView control.

Ejemplos

En el ejemplo de código siguiente se muestra cómo agregar campos de fila mediante Fields declaración a la DetailsView colección de un control.The following code example demonstrates how to declaratively add row fields to the Fields collection of a 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 DetailsView un control, estos campos de fila se almacenan en la Fields propiedad (colección).When you explicitly declare the row fields for a DetailsView control, these row fields are stored in the Fields property (collection). La Fields colección también permite administrar mediante programación la colección de filas declaradas explícitamente.The Fields collection also allows you to programmatically manage the collection of explicitly declared rows.

Nota

Los campos de fila declarados explícitamente se pueden usar en combinación con los campos de fila generados automáticamente.Explicitly declared row fields can be used in combination with automatically generated row fields. Cuando se usan ambos, los campos de fila declarados explícitamente se representan en primer lugar, seguidos de los campos de fila generados automáticamente.When both are used, explicitly declared row fields are rendered first, followed by the automatically generated row fields. Los campos de fila generados automáticamente no se Fields agregan a la colección.Automatically generated row fields are not added to the Fields collection.

Los distintos tipos de campos de fila determinan el comportamiento de las filas del control.Different row field types determine the behavior of the rows in the control. En la tabla siguiente se muestran los distintos tipos de campos de fila que se Fields pueden usar en la colección.The following table shows the different row field types that can be used in the Fields collection.

Tipo de campo de filaRow field type DescripciónDescription
BoundField Muestra el valor de un campo en un origen de datos como texto.Displays the value of a field in a data source as text.
ButtonField Muestra un botón de comando en DetailsView el control.Displays a command button in the DetailsView control. Esto le permite mostrar una fila con un control de botón personalizado, como un botón Agregar o quitar.This allows you to display a row with a custom button control, such as an Add or a Remove button.
CheckBoxField Muestra una casilla en el DetailsView control.Displays a check box in the DetailsView control. Este tipo de campo de fila se utiliza normalmente para mostrar los campos con un valor booleano.This row field type is commonly used to display fields with a Boolean value.
CommandField Muestra los botones de comando integrados para realizar operaciones de edición, inserción o eliminación en el DetailsView control.Displays built-in command buttons to perform edit, insert, or delete operations in the DetailsView control.
HyperLinkField Muestra el valor de un campo en un origen de datos como un hipervínculo.Displays the value of a field in a data source as a hyperlink. Este tipo de campo de fila permite enlazar un segundo campo a la dirección URL del hipervínculo.This row field type allows you to bind a second field to the hyperlink's URL.
ImageField Muestra una imagen en el DetailsView control.Displays an image in the DetailsView control.
TemplateField Muestra el contenido definido por el usuario para una fila DetailsView del control según una plantilla especificada.Displays user-defined content for a row in the DetailsView control according to a specified template. Este tipo de campo de fila permite crear un campo de fila personalizado.This row field type allows you to create a custom row field.

Para declarar explícitamente los campos de fila DetailsView de un control, establezca AutoGenerateRows primero la falsepropiedad en.To explicitly declare the row fields for a DetailsView control, first set the AutoGenerateRows property to false. A continuación, agregue etiquetas <Fields> DetailsView de apertura y cierre entre las etiquetas de apertura y cierre del control.Next, add opening and closing <Fields> tags between the opening and closing tags of the DetailsView control. Por último, enumere los campos de fila que desea incluir entre las etiquetas de apertura <Fields> y cierre.Finally, list the row fields that you want to include between the opening and closing <Fields> tags. Los campos de fila se muestran en DetailsView el control en el orden en que aparecen los campos de Fields fila en la colección.The row fields are displayed in the DetailsView control in the order that the row fields appear in the Fields collection.

Aunque puede agregar campos de fila mediante programación a la Fields colección, es más fácil enumerar los campos de fila de forma declarativa DetailsView en el control y, Visible a continuación, utilizar la propiedad de cada campo de fila para mostrar u ocultar el campo de fila.Although you can programmatically add row fields to the Fields collection, it is easier to list the row fields declaratively in the DetailsView control and then use the Visible property of each row field to show or hide the row field.

Si la Visible propiedad de un campo de fila está establecida falseen, la fila no se muestra en DetailsView el control y los datos de la fila no realizan un viaje de ida y vuelta al cliente.If the Visible property of a row field is set to false, the row is not displayed in the DetailsView control and the data for the row does not make a round trip to the client. Si desea que los datos de una fila no estén visibles para realizar un viaje de ida y vuelta, agregue el nombre del DataKeyNames campo a la propiedad.If you want the data for a row that is not visible to make a round trip, add the field name to the DataKeyNames property.

Se aplica a

Consulte también: