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 コントロールの一般的なカスタマイズの例として、行の色を交互にする、条件に基づいてフィールドの色を変更する、などが挙げられます。このようなカスタマイズを行う方法を次の例に示します。この例は、Northwind データベースの Products テーブルにバインドされた DataRepeater コントロールがあることを前提としています。

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;
    }
}

アクセス許可

  • 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

DataRepeater クラス

DataRepeater メンバ

Microsoft.VisualBasic.PowerPacks 名前空間

その他の技術情報

DataRepeater コントロールの概要 (Visual Studio)

方法 : DataRepeater コントロールの外観を変更する (Visual Studio)