Partage via


ImageField Constructeur

Définition

Initialise une nouvelle instance de la classe ImageField.

public:
 ImageField();
public ImageField ();
Public Sub New ()

Exemples

L’exemple suivant montre comment utiliser ce constructeur pour ajouter dynamiquement un ImageField objet à la Columns collection d’un GridView contrôle.


<%@ 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 Page_Load(Object sender, EventArgs e)
  {

    if (!IsPostBack)
    {
      
      // Dynamically create a GridView control.
      GridView employeesView = new GridView();
      employeesView.ID = "EmployeesGrid";
      employeesView.AutoGenerateColumns = false;
      employeesView.DataSourceID = "EmployeeSource";

      // Dynamically create field columns to display the desired
      // fields from the data source.

      // Create an ImageField object to display an employee's photo.
      ImageField photoImageField = new ImageField();
      photoImageField.DataImageUrlField = "PhotoPath";
      photoImageField.AlternateText = "Employee Photo";
      photoImageField.NullDisplayText = "No image on file.";
      photoImageField.HeaderText = "Photo";
      photoImageField.ReadOnly = true;

      // Create a BoundField object to display an employee's last name.
      BoundField lastNameBoundField = new BoundField();
      lastNameBoundField.DataField = "LastName";
      lastNameBoundField.HeaderText = "Last Name";

      // Create a BoundField object to display an employee's first name.
      BoundField firstNameBoundField = new BoundField();
      firstNameBoundField.DataField = "FirstName";
      firstNameBoundField.HeaderText = "First Name";

      // Add the field columns to the Fields collection of the
      // GridView control.
      employeesView.Columns.Add(photoImageField);
      employeesView.Columns.Add(lastNameBoundField);
      employeesView.Columns.Add(firstNameBoundField);
      
      // Add the GridView control to the Controls collection
      // of the PlaceHolder control. 
      GridViewPlaceHolder.Controls.Add(employeesView);

    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ImageField Constructor Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>ImageField Constructor Example</h3>
                  
      <asp:placeholder id="GridViewPlaceHolder"
        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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [PhotoPath] From [Employees]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
            
    </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">

  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

    If Not IsPostBack Then
      
      ' Dynamically create a GridView control.
      Dim employeesView As GridView = New GridView()
      employeesView.ID = "EmployeesGrid"
      employeesView.AutoGenerateColumns = False
      employeesView.DataSourceID = "EmployeeSource"

      ' Dynamically create field columns to display the desired
      ' fields from the data source.

      ' Create an ImageField object to display an employee's photo.
      Dim photoImageField As ImageField = New ImageField()
      photoImageField.DataImageUrlField = "PhotoPath"
      photoImageField.AlternateText = "Employee Photo"
      photoImageField.NullDisplayText = "No image on file."
      photoImageField.HeaderText = "Photo"
      photoImageField.ReadOnly = True

      ' Create a BoundField object to display an employee's last name.
      Dim lastNameBoundField As BoundField = New BoundField()
      lastNameBoundField.DataField = "LastName"
      lastNameBoundField.HeaderText = "Last Name"

      ' Create a BoundField object to display an employee's first name.
      Dim firstNameBoundField As BoundField = New BoundField()
      firstNameBoundField.DataField = "FirstName"
      firstNameBoundField.HeaderText = "First Name"

      ' Add the field columns to the Fields collection of the
      ' GridView control.
      employeesView.Columns.Add(photoImageField)
      employeesView.Columns.Add(lastNameBoundField)
      employeesView.Columns.Add(firstNameBoundField)
      
      ' Add the GridView control to the Controls collection
      ' of the PlaceHolder control. 
      GridViewPlaceHolder.Controls.Add(employeesView)

    End If

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ImageField Constructor Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>ImageField Constructor Example</h3>
                  
      <asp:placeholder id="GridViewPlaceHolder"
        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="EmployeeSource"
        selectcommand="Select [EmployeeID], [LastName], [FirstName], [PhotoPath] From [Employees]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
            
    </form>
  </body>
</html>

Remarques

Utilisez ce constructeur pour initialiser une nouvelle instance de la ImageField classe. Ce constructeur est couramment utilisé lors de l’ajout de champs à un contrôle lié aux données créé dynamiquement.

Pour ajouter dynamiquement un ImageField objet à un contrôle lié aux données, créez un objet ImageField , définissez ses propriétés, puis ajoutez-le à la collection de champs du contrôle lié aux données. Par exemple, si vous utilisez le GridView contrôle, ajoutez l’objet ImageField à la Columns collection.

Notes

Bien que vous puissiez ajouter dynamiquement des champs à un contrôle lié aux données, il est fortement recommandé que les champs soient déclarés statiquement, puis affichés ou masqués, selon les besoins. La déclaration statique de tous vos champs réduit la taille de l’état d’affichage pour le contrôle parent lié aux données.

S’applique à

Voir aussi