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

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

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 = http://www.mamicode.com/parent.JSON.parse(_data);>


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