更新:2007 年 11 月
当 VirtualMode 属性设置为 True 且 DataRepeaterItem 的子控件需要新值时发生。
命名空间:  Microsoft.VisualBasic.PowerPacks
程序集:  Microsoft.VisualBasic.PowerPacks.Vs(在 Microsoft.VisualBasic.PowerPacks.Vs.dll 中)
语法
声明
Public Event ItemValueNeeded As DataRepeaterItemValueEventHandler
用法
Dim instance As DataRepeater
Dim handler As DataRepeaterItemValueEventHandler
AddHandler instance.ItemValueNeeded, handler
public event DataRepeaterItemValueEventHandler ItemValueNeeded
public:
 event DataRepeaterItemValueEventHandler^ ItemValueNeeded {
    void add (DataRepeaterItemValueEventHandler^ value);
    void remove (DataRepeaterItemValueEventHandler^ value);
}
JScript 不支持事件。
备注
在虚拟模式中,使用此事件可在显示 DataRepeaterItem 时或添加新项时使用数据存储区中的值来填充子控件。
当 VirtualMode 属性设置为 False 时将不引发此事件。
有关如何处理事件的更多信息,请参见使用事件。
示例
下面的示例演示如何处理 ItemValueNeeded 事件。 假定您有一个名为 DataRepeater1 的 DataRepeater 控件且该控件的 VirtualMode 属性设置为 True,并且您还有一个针对于名为 Employees 的数据源的数据存储区。
Private Sub DataRepeater1_ItemValueNeeded(ByVal sender As Object, _
 ByVal e As  _
 Microsoft.VisualBasic.PowerPacks.DataRepeaterItemValueEventArgs) _
 Handles DataRepeater1.ItemValueNeeded
    If e.ItemIndex < Employees.Count Then
        Select Case e.Control.Name
            Case "txtFirstName"
                e.Value = Employees.Item(e.ItemIndex + 1).firstName
            Case "txtLastName"
                e.Value = Employees.Item(e.ItemIndex + 1).lastName
        End Select
    End If
End Sub
private void dataRepeater1_ItemValueNeeded(object sender, Microsoft.VisualBasic.PowerPacks.DataRepeaterItemValueEventArgs e)
{
    if (e.ItemIndex < Employees.Count)
    {
        switch (e.Control.Name)
        {
            case "txtFirstName":
                e.Value = Employees[e.ItemIndex + 1].firstName;
                break;
            case "txtLastName":
                e.Value = Employees[e.ItemIndex + 1].lastName;
                break;
        }
    }
}
权限
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。
另请参见
参考
Microsoft.VisualBasic.PowerPacks 命名空间