событие itemdatabound вложенного списка - PullRequest
1 голос
/ 17 марта 2012

У меня есть вложенный просмотр списка, который я связываю с данными по родительскому событию ItemDataBound, но как мне получить доступ / зарегистрировать событие itemdatabound вложенного списка?

Спасибо!

Изменения

Моя родительская база данных listview теперь выглядит так:

Protected Sub lvwManagePolicy_ItemDataBound(sender As Object, e As System.Web.UI.WebControls.ListViewItemEventArgs) Handles lvwManagePolicy.ItemDataBound

    If e.Item.ItemType = ListViewItemType.DataItem Then
        Dim rv As DataRowView = CType(e.Item.DataItem, DataRowView)

        Me.dsAccoutnTransactionHistory = Wrap.getWrapAccountTransactionHistory(rv!PLATFORM_ID, False)
        Dim lvwTransactionHistory As ListView = DirectCast(e.Item.FindControl("lvwTransactionHistory"), ListView)
        lvwTransactionHistory.ItemDataBound += New EventHandler(Of ListViewItemEventArgs)(lvwTransactionHistory_ItemDataBound)
        lvwTransactionHistory.DataSource = dsAccoutnTransactionHistory
        lvwTransactionHistory.DataBind()
    End If

End Sub

, но я получаю ошибку

BC32022: 'Public Event ItemDataBound (отправитель какОбъект, как System.Web.UI.WebControls.ListViewItemEventArgs) ', является событием и не может быть вызван напрямую.Используйте оператор RaiseEvent, чтобы вызвать событие.

Ответы [ 2 ]

1 голос
/ 14 июля 2013

Вы можете это:

  <asp:ListView onitemcommand="inner_ItemCommand" ...

защищено / публично требуется метод команды элемента:

  public void inner_ItemCommand(object sender,  ListViewCommandEventArgs e)
    {
        if (e.CommandArgument == "delete")
        {
            //do delete here
        }
    }
1 голос
/ 17 марта 2012

Перед назначением данных для вложенного элемента управления в родительском элементе управления вы можете зарегистрировать событие, как показано ниже под родительским элементом ItemBoundData

ListView f = new ListView();
f.ItemDataBound += new EventHandler<ListViewItemEventArgs>(f_ItemDataBound);

protected void f_ItemDataBound(object sender, ListViewItemEventArgs e)
{

}
...