DataRepeater.DrawItem 事件
更新:2007 年 11 月
會在必須繪製 DataRepeaterItem 時發生。
命名空間: Microsoft.VisualBasic.PowerPacks
組件: Microsoft.VisualBasic.PowerPacks.Vs (在 Microsoft.VisualBasic.PowerPacks.Vs.dll 中)
語法
Public Event DrawItem As DataRepeaterItemEventHandler
Dim instance As DataRepeater
Dim handler As DataRepeaterItemEventHandler
AddHandler instance.DrawItem, handler
public event DataRepeaterItemEventHandler DrawItem
public:
event DataRepeaterItemEventHandler^ DrawItem {
void add (DataRepeaterItemEventHandler^ value);
void remove (DataRepeaterItemEventHandler^ value);
}
JScript 不支援事件。
備註
這個事件可以用來變更 DataRepeaterItem 物件被捲動到檢視處時的外觀。
在執行階段,當每個項目被捲動到檢視處時,您可以根據條件設定外觀相關的屬性。例如,在排程應用程式中,您可以變更項目的背景色彩,以便在項目過期時警告使用者。如果您在諸如 If Then 的條件陳述式中設定了屬性,也必須使用 Else 子句指定不符合條件時的外觀。
如需如何處理事件的詳細資訊,請參閱使用事件。
範例
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 命名空間