Filter YUI DataTable按钮事件在筛选后丢失

Filter YUI DataTable按钮事件在筛选后丢失,filter,datatable,yui,listener,Filter,Datatable,Yui,Listener,我使用的是YUI2数据表。 表格的某些行有一个图标按钮,单击该按钮将弹出该行的其他详细信息 我将执行以下操作来定义显示附加信息的面板: MyContainer.panel2 = new YAHOO.widget.Panel("popupPanel2", { width:"650px", visible:false, constraintoviewport:true, overflow:"auto" } ); MyContainer.panel2.render(); YAHOO.ut

我使用的是YUI2数据表。 表格的某些行有一个图标按钮,单击该按钮将弹出该行的其他详细信息

我将执行以下操作来定义显示附加信息的面板:

MyContainer.panel2 = new YAHOO.widget.Panel("popupPanel2", 
   { width:"650px", visible:false, constraintoviewport:true, overflow:"auto"  } ); 
MyContainer.panel2.render(); 
YAHOO.util.Event.addListener("showButton2", "click", 
        MyContainer.panel2.show, MyContainer.panel2, true); 
因此,一切都与此配合良好。然后我添加了一个按钮,当点击它时,它会过滤掉一些行

MyContainer.oPushButton1.onclick = function onButtonClickp(p_oEvent) 
{
var filter_val = "xxx";
    myDataTable.getDataSource().sendRequest(filter_val,
        {success: myDataTable.onDataReturnInitializeTable},myDataTable);
} 
这将过滤并重新绘制表。但这样做之后,剩余行上应该弹出面板的按钮将不再工作。 当我点击按钮时,什么也没有发生。 我肯定我做错了什么,但我不知道是什么。具有正确id的按钮和面板似乎仍然可以在页面上使用


在重画datatable之后,我是否必须重新启用click事件的侦听器?我不确定在何处尝试调试失败的侦听器。

我在重置数据源的数据后再次调用addListener,从而实现了这一点

MyContainer.oPushButton1.onclick = function onButtonClickp(p_oEvent) 
{
    var filter_val = "xxx";
    myDataTable.getDataSource().sendRequest(filter_val,
        {success: myDataTable.onDataReturnInitializeTable},myDataTable);
    YAHOO.util.Event.addListener("showButton2", "click", 
    MyContainer.panel2.show, MyContainer.panel2, true); 
}