FineUI 官方论坛

标题: 行扩展列的客户端事件如何实现? [打印本页]

作者: 夏雨雪(joe)    时间: 2014-7-7 09:34
标题: 行扩展列的客户端事件如何实现?
  

// 页面第一个加载完毕后执行的函数
        F.ready(function () {
            var gridClientID =  '<%= Grid1.ClientID %>';
            var grid = F(gridClientID);
            var store = grid.getStore();
            var expander = grid.getPlugin(gridClientID + '_rowexpander');
            alert("ok2" + grid.plugins[0]);
            //之后点击‘+’号添加希望显示的内容,即调用.on定义的expand事件
            grid.plugins[0].on("expand", function(expander, r, body, rowIndex){
                alert("aaaaa");
            });
            alert("ok1" + grid);
        });

并参考:http://www.cnblogs.com/fendou1986/p/3299746.html

各位大侠,行扩展列,能否通过js的方式来捕获扩展事情呢?
我用上面的代码,不能成功。代码执行到 alert("ok2" + grid.plugins[0]);
后面的  alert("ok1" + grid); 没有执行,应该是grid.plugins[0].on("expand" 的监听方法有错误。
但不知道怎么定义。

请教大家,如何实现?




作者: 夏雨雪(joe)    时间: 2014-7-7 13:22
搞定了,完美实现:

<script type="text/javascript">
        var gridClientID = '<%=Grid1.ClientID %>';
        //展开一行
        function expandRow(id, num) {
            if (gridClientID == undefined) return;
            var grid = F(gridClientID);
            var store = grid.getStore();
            var expander = grid.getPlugin(gridClientID + '_rowexpander');
            var record = store.getAt(num);
            var url = "<iframe src='http://baidu.com' name='subiframe' frameborder='0' style='height:100%;width: 100%; overflow: auto;'></iframe>";
            record = record.set("expander", url);
            expander.toggleRow(num, record);
        }

        //页面第一个加载完毕后执行的函数
        F.ready(function () {
            $(".x-grid-row-expander").live('click',function () {
                var tr = $(this).closest("tr");
                var num = tr.attr("data-recordindex");
                //在模版列里面隐藏一个参数内容,dn_ 是display:none
                //<ItemTemplate>
                //   <span class="dn_ grow<%# Container.DataItemIndex %>" id='11'></span>
                //</ItemTemplate>
                var Id = $(".grow" + num).attr("id");
                expandRow(Id, num);
            });
        });

        // 页面AJAX回发后执行的函数
        F.ajaxReady(function () {
           
        });
    </script>




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4