2012-03-17 90 views
1

我有一个嵌套的列表视图,我databind父'ItemDataBound'事件,但我如何访问/注册嵌套listview的itemdatabound事件?itemdatabound嵌套列表视图事件

谢谢!

编辑

我父母的ListView的ItemDataBound现在看起来像这样,

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:“公共事件的ItemDataBound(发送者为对象,E As System.Web.UI.WebControls.ListViewItemEventArgs)'是一个事件,并且不能直接调用 。使用'RaiseEvent'语句来提高 事件。

回答

1

之前,你的父母控制分配数据给嵌套的控制,你可以像下面的活动你的父母下ItemBoundData

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

protected void f_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 

} 
+0

感谢您的指针。尽管我得到一个错误;请参阅我的编辑 – Dooie 2012-03-17 20:14:41

1

您可以在此注册:

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

保护/public item命令方法需要:

public void inner_ItemCommand(object sender, ListViewCommandEventArgs e) 
    { 
     if (e.CommandArgument == "delete") 
     { 
      //do delete here 
     } 
    }