DataRepeater.ItemTemplate 屬性
更新:2007 年 11 月
取得樣板,這個樣板表示 DataRepeater 控制項的 DataRepeaterItem。
命名空間: Microsoft.VisualBasic.PowerPacks
組件: Microsoft.VisualBasic.PowerPacks.Vs (在 Microsoft.VisualBasic.PowerPacks.Vs.dll 中)
語法
<BrowsableAttribute(False)> _
Public ReadOnly Property ItemTemplate As DataRepeaterItem
Dim instance As DataRepeater
Dim value As DataRepeaterItem
value = instance.ItemTemplate
[BrowsableAttribute(false)]
public DataRepeaterItem ItemTemplate { get; }
[BrowsableAttribute(false)]
public:
property DataRepeaterItem^ ItemTemplate {
DataRepeaterItem^ get ();
}
public function get ItemTemplate () : DataRepeaterItem
屬性值
型別:Microsoft.VisualBasic.PowerPacks.DataRepeaterItem
物件,決定 DataRepeater 控制項中項目的配置和外觀。
備註
ItemTemplate 屬性可以用來設定可決定 DataRepeater 控制項中所有項目之執行階段外觀的屬性。實際上,您的確是設定將在執行階段建立的 DataRepeaterItem 物件的屬性。您在執行階段所看到 DataRepeater 中的項目,是項目被捲動到檢視處時從這個物件複製而來的。
在設計階段,當您選取含有控制項之 DataRepeater 的選項時,[屬性] 視窗就會包含 ItemTemplate 屬性。舉例來說,將 ItemTemplate 的 BackColor 屬性設定為 Red 會使 DataRepeater 中的所有項目都顯示成紅色背景。
在執行階段,如果變更 ItemTemplate 的屬性,必須在設定屬性之前呼叫 BeginResetItemTemplate 方法,然後才呼叫 EndResetItemTemplate 方法認可變更。
ItemTemplate 屬性也可用來在執行階段存取 DataRepeaterItem 中的控制項。舉例來說,若要擷取 TextBox (名稱為 IDTextBox) 的 BackColor,您會使用下列程式碼:
Dim BC As Color = _
DataRepeater1.ItemTemplate.Controls(IDTextBox.Name).BackColor
color BC = dataRepeater1.ItemTemplate.Controls["IDTextBox"].BackColor;
範例
DataRepeater 控制項的某些常用自訂包括以交替的色彩顯示資料列,以及根據條件變更欄位的色彩。下列範例顯示如何執行這些自訂工作。這個範例假設您有一個 DataRepeater 控制項,而且這個控制項已繫結到 Northwind 資料庫中的 Products 資料表。
Private Sub DataRepeater1_DrawItem(ByVal sender As Object, ByVal e _
As Microsoft.VisualBasic.PowerPacks.DataRepeaterItemEventArgs) _
Handles DataRepeater1.DrawItem
' Alternate the back color.
If (e.DataRepeaterItem.ItemIndex Mod 2) <> 0 Then
' Apply the secondary back color.
e.DataRepeaterItem.BackColor = Color.AliceBlue
Else
' Apply the default back color.
DataRepeater1.ItemTemplate.BackColor = Color.White
End If
' Change the color of out-of-stock items to red.
If e.DataRepeaterItem.Controls(UnitsInStockTextBox.Name).Text _
< 1 Then
e.DataRepeaterItem.Controls(UnitsInStockTextBox.Name). _
BackColor = Color.Red
Else
e.DataRepeaterItem.Controls(UnitsInStockTextBox.Name). _
BackColor = Color.White
End If
End Sub
private void dataRepeater1_DrawItem(object sender,
Microsoft.VisualBasic.PowerPacks.DataRepeaterItemEventArgs e)
{
// Alternate the back color.
if ((e.DataRepeaterItem.ItemIndex % 2) != 0)
// Apply the secondary back color.
{
e.DataRepeaterItem.BackColor = Color.AliceBlue;
}
else
{
// Apply the default back color.
dataRepeater1.ItemTemplate.BackColor = Color.White;
}
// Change the color of out-of-stock items to red.
if (e.DataRepeaterItem.Controls["unitsInStockTextBox"].Text == "0")
{
e.DataRepeaterItem.Controls["unitsInStockTextBox"].BackColor = Color.Red;
}
else
{
e.DataRepeaterItem.Controls["unitsInStockTextBox"].BackColor = Color.White;
}
}
使用權限
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。
請參閱
參考
Microsoft.VisualBasic.PowerPacks 命名空間