FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 1658|回复: 1
打印 上一主题 下一主题

行扩展列的客户端事件如何实现?

[复制链接]
回帖奖励 150 金钱 回复本帖可获得 50 金钱奖励! 每人限 1 次
跳转到指定楼层
楼主
发表于 2014-7-7 09:34:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  

// 页面第一个加载完毕后执行的函数
        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" 的监听方法有错误。
但不知道怎么定义。

请教大家,如何实现?



沙发
 楼主| 发表于 2014-7-7 13:22:09 | 只看该作者
搞定了,完美实现:

<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 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-26 06:01 , Processed in 0.049029 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表