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 中的控件。 例如,若要检索名为 IDTextBox 的 TextBox 的 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 命名空间