TemplateField.ItemTemplate (Propiedad)
Ensamblado: System.Web (en system.web.dll)
[TemplateContainerAttribute(typeof(IDataItemContainer), BindingDirection.TwoWay)] public virtual ITemplate ItemTemplate { get; set; }
/** @property */ public ITemplate get_ItemTemplate () /** @property */ public void set_ItemTemplate (ITemplate value)
public function get ItemTemplate () : ITemplate public function set ItemTemplate (value : ITemplate)
Valor de propiedad
Un objeto implementado por System.Web.UI.ITemplate que contiene la plantilla para mostrar un elemento de un objeto TemplateField. El valor predeterminado es referencia null (Nothing en Visual Basic), lo que indica que no se ha establecido esta propiedad.Utilice la propiedad ItemTemplate para especificar el contenido personalizado mostrado para los elementos de un objeto TemplateField. Defina el contenido creando una plantilla que especifique cómo se procesan los elementos.
Nota: |
|---|
| Como alternativa, defina la propiedad AlternatingItemTemplate junto con la propiedad ItemTemplate para dar un aspecto diferente a cada elemento alterno de un control enlazado a datos. |
Para especificar una plantilla, primero coloque las etiquetas <ItemTemplate> de apertura y cierre entre las etiquetas de apertura y cierre del elemento <TemplateField>. A continuación, agregue el contenido personalizado entre las etiquetas <ItemTemplate> de apertura y cierre. El contenido puede ser tan simple como el texto sin formato o más complejo (por ejemplo la incrustación de otros controles en la plantilla).
Para tener acceso mediante programación a un control definido en una plantilla, determine primero qué objeto TableCell del control con enlace a datos contiene el control. A continuación, utilice la colección de Controls del objeto TableCell para tener acceso al control. También puede utilizar el método FindControl del objeto TableCell para encontrar el control, si el control tiene una propiedad ID especificada.
En el ejemplo de código siguiente se muestra cómo usar la propiedad ItemTemplate para crear una plantilla personalizada para los elementos de un campo TemplateField de un control GridView. La plantilla muestra el valor del campo en un control RadioButtonList.
<%@ 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 TitleGridView_RowDataBound (Object sender, GridViewRowEventArgs e) { // Get the RadioButtonList control from the row. RadioButtonList radio = (RadioButtonList)e.Row.FindControl("TypeList"); // Select the appropriate option button based on the value // of the Type field for the row. In this example, the Type // field values are stored in the column in the // GridView control. if (radio != null) { switch (e.Row.Cells[3].Text.Trim()) { case "business": radio.SelectedIndex = 0; break; case "mod_cook": radio.SelectedIndex = 1; break; case "popular_comp": radio.SelectedIndex = 2; break; case "psychology": radio.SelectedIndex = 3; break; case "trad_cook": radio.SelectedIndex = 4; break; default: radio.SelectedIndex = 5; break; } } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>TemplateField ItemTemplate Example</title> </head> <body> <form id="form1" runat="server"> <h3>TemplateField ItemTemplate Example</h3> <!-- Populate the Columns collection declaratively. --> <!-- Create a custom TemplateField column that uses --> <!-- two Label controls to display an author's first and --> <!-- last name in the same column. --> <asp:gridview id="TitleGridView" datasourceid="TitleSqlDataSource" autogeneratecolumns="false" onrowdatabound="TitleGridView_RowDataBound" runat="server"> <columns> <asp:boundfield datafield="title" headertext="Title"/> <asp:boundfield datafield="price" dataformatstring="{0:c}" headertext="Price"/> <asp:templatefield headertext="Type"> <itemtemplate> <asp:radiobuttonlist id="TypeList" datasourceid="TypeSqlDataSource" datatextfield="type" enabled="false" runat="server"/> </itemtemplate> </asp:templatefield> <asp:boundfield datafield="type"/> </columns> </asp:gridview> <!-- This example uses Microsoft SQL Server and connects --> <!-- to the Pubs sample database. --> <asp:sqldatasource id="TitleSqlDataSource" selectcommand="SELECT [title], [price], [type] FROM [titles]" connectionstring="server=localhost;database=pubs;integrated security=SSPI" runat="server"> </asp:sqldatasource> <asp:sqldatasource id="TypeSqlDataSource" selectcommand="SELECT Distinct [type] FROM [titles]" connectionstring="server=localhost;database=pubs;integrated security=SSPI" runat="server"> </asp:sqldatasource> </form> </body> </html>
Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter
Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.Referencia
TemplateField (Clase)TemplateField (Miembros)
System.Web.UI.WebControls (Espacio de nombres)
TemplateField.AlternatingItemTemplate (Propiedad)
TemplateField.EditItemTemplate (Propiedad)
TemplateField.FooterTemplate (Propiedad)
TemplateField.HeaderTemplate (Propiedad)
TemplateField.InsertItemTemplate (Propiedad)
Nota: