TemplateField.ItemTemplate Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia szablon do wyświetlania elementu w kontrolce powiązanej z danymi.
public:
virtual property System::Web::UI::ITemplate ^ ItemTemplate { System::Web::UI::ITemplate ^ get(); void set(System::Web::UI::ITemplate ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.IDataItemContainer), System.ComponentModel.BindingDirection.TwoWay)]
public virtual System.Web.UI.ITemplate ItemTemplate { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.TemplateContainer(typeof(System.Web.UI.IDataItemContainer), System.ComponentModel.BindingDirection.TwoWay)>]
member this.ItemTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property ItemTemplate As ITemplate
Wartość właściwości
ITemplateObiekt implementowany, który zawiera szablon do wyświetlania elementu w obiekcie TemplateField. Wartość domyślna to null
, która wskazuje, że ta właściwość nie jest ustawiona.
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą ItemTemplate właściwości utworzyć szablon niestandardowy dla elementów TemplateField pola w kontrolce GridView . Szablon wyświetla wartość pola w kontrolce 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>
<%@ 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 TitleGridView_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
' Get the RadioButtonList control from the row.
Dim radio As RadioButtonList = CType(e.Row.FindControl("TypeList"), RadioButtonList)
' 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 Not radio Is Nothing Then
Select Case e.Row.Cells(3).Text.Trim()
Case "business"
radio.SelectedIndex = 0
Case "mod_cook"
radio.SelectedIndex = 1
Case "popular_comp"
radio.SelectedIndex = 2
Case "psychology"
radio.SelectedIndex = 3
Case "trad_cook"
radio.SelectedIndex = 4
Case Else
radio.SelectedIndex = 5
End Select
End If
End Sub
</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>
Uwagi
ItemTemplate Użyj właściwości , aby określić niestandardową zawartość wyświetlaną dla elementów w TemplateField obiekcie. Zdefiniuj zawartość, tworząc szablon określający sposób renderowania elementów.
Uwaga
Opcjonalnie można zdefiniować AlternatingItemTemplate właściwość w połączeniu z właściwością ItemTemplate , aby utworzyć inny wygląd dla każdego innego elementu w kontrolce powiązanej z danymi.
Aby określić szablon, najpierw umieść tagi otwierające i zamykające <ItemTemplate>
między tagami otwierania i zamykania <TemplateField>
elementu. Następnie dodaj zawartość niestandardową między tagami otwierania i zamykania <ItemTemplate>
. Zawartość może być prosta w postaci zwykłego tekstu lub bardziej złożonego (na przykład osadzanie innych kontrolek w szablonie).
Aby programowo uzyskać dostęp do kontrolki zdefiniowanej w szablonie, najpierw określ, który TableCell obiekt w kontrolce powiązanej z danymi zawiera kontrolkę. Następnie użyj Controls kolekcji TableCell obiektu, aby uzyskać dostęp do kontroli. Możesz również użyć FindControl metody TableCell obiektu, aby znaleźć kontrolkę, jeśli kontrolka ma ID określoną właściwość.
Dotyczy
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla