码迷,mamicode.com
首页 > 其他好文 > 详细

easyui的datagrid单击某一栏同时触发onClickRow和其中一栏的自定义事件怎么办?

时间:2015-01-28 11:09:23      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:easyui-datagrid

easyui的datagrid单击某一栏同时触发onClickRow和其中一栏的自定义事件怎么办?

自己的解决方法:

我的需求是这样子的:

点击easyui -datagrid一行的时候需要弹出框显示文章内容

当点击一行中点击下载那一栏的时候进行下载

问题是,当点击下载的时候也会触发onClickRow事件

所以我的解决办法是设置了一个变量来判断究竟是触发哪个的事件

代码如下:

// JQuery入口
var SELECTDOCID = null;
var ARTICL_CONTENT = null;
var ISOneRow = 1;//判断是否是 datagrid的一行被触发  1表示是一行被点击,0表示超链接被点击

//初始化文档管理页签
function Init_DocManagement() {
    //先设置多语言
    // 预算列表说明设置标题
    $(".div_DocFileList").panel("setTitle", SYS_LANGUAGE.UI_LANGUAGE_JSON['Budget folder list']);
    //设置表格的多语言标题
    $('#docList_Table').datagrid({
        singleSelect: true,
        fitColumns: true,
        columns: [[
            { field: 'DOCBH', title: SYS_LANGUAGE.UI_LANGUAGE_JSON['DOCBH'], width: 150 },
            { field: 'DOCMC', title: SYS_LANGUAGE.UI_LANGUAGE_JSON['DOCMC'], width: 150 },
            { field: 'DOCID', hidden: true, width: 150 },
            { field: 'DOCNR', hidden: true, width: 150 },
            { field: 'FJNAME', hidden: true, width: 150 },
            {
                field: 'DOCDOWN', title: SYS_LANGUAGE.UI_LANGUAGE_JSON['DOCDOWN'], width: 150, formatter: function (value, row, index) {
                    SELECTDOCID = row;
                    return "<a href='javascript:void(0)' onclick='download()' style='text-decoration:none'>下载</a>";

                }
            }
        ]],
        onClickRow: function (index, row) {
            if (ISOneRow == 1) {
                openArticle(row.DOCMC, row.DOCNR);
            }
            else {
                ISOneRow = 1;
            }
        }
    });
    //处理数据加载
    Init_DocTree();
}

//下载文件
function download() {
    //先赋值
    ISOneRow = 0;

    //  alert(row.DOCID);
    var DOCID = SELECTDOCID.DOCID;
    var url = "../AjaxToWcf/AjaxToWcf.ashx";
    var serverParam = {
        docId: DOCID
    };
    var ajaxParams = {
        serverUrl: "BS_DocumentManage/DownLoadFile",
        serverParam: parent.JSON.stringify(serverParam),
        requestType: "POST",
        IsAsync: true,
        language: parent.SYS_LANGUAGE.SYS_LANGUAGE
    };
    var names = [];
    parent.CommonAjaxRequest(url, ajaxParams, function (_data) {
        Loaded();
        var jsonData = parent.JSON.parse(_data);
        //datagrid加载
        // $('#docList_Table').datagrid('loadData', jsonData);
        names = jsonData.url;
        if (names.length <= 0) {
            $.messager.alert('提示', '该文档没有附件', 'info');
            return;
        }
        var str = names.join(',');
        window.location.href = "../DocumentManagement/DownFile.ashx?fileName=" + str;
    });
}



easyui的datagrid单击某一栏同时触发onClickRow和其中一栏的自定义事件怎么办?

标签:easyui-datagrid

原文地址:http://blog.csdn.net/u010158775/article/details/43227215

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!