如何使用Flexigrid处理行onclick事件?

时间:2011-06-08 14:23:24

标签: javascript jquery flexigrid

我的flexigrid正在设置中。我需要的只是当用户点击一行时调用的事件。从那里,我将根据该行中包含的数据将用户发送到另一个页面。但我似乎无法找到任何关于如何做到这一点的例子。

我正在寻找一个关于如何使用flexigrid处理行onclick事件的明确示例。

我也对在这种情况下可以使用的任何其他javascript表框架感兴趣。我一直在偷看DataTables看起来它可能是一个更好的选择(而且项目看起来更活跃)

5 个答案:

答案 0 :(得分:9)

在flexigrid的初始设置中,将属性process:procMe添加到列模型中。例如:

colModel : [
    { display: 'Request', name : 'id', process: procMe }
]

然后创建一个回调:

function procMe( celDiv, id ) {
    $( celDiv ).click( function() {
        alert( id );
    });
}

答案 1 :(得分:2)

更好的解决方案

向colModel添加进程对我没用。

colModel : [
{ display: 'Request', name : 'id', process: procMe }
]

以下解决方案就是我正在使用的方法:

var gridRows = $("#data-grid tbody tr");

gridRows.click(function (event) {
  displaySelectedItem($(this).attr('id').substr(3));
  return false; //exit
});

答案 2 :(得分:1)

Flexigrid列作为链接​​

colModel: [
        {
            display: 'DomainName', name: 'DomainName', width: 180, 
            sortable: true, align: 'left', 
            process: function (col, id) 
                     {
                       col.innerHTML = "<a href='javascript:domainEdit(" + id + ");' 
                                   id='flex_col" + id + "'>" + col.innerHTML + "</a>";
                     }
        }]

链接功能

function domainEdit(domainID) {
    alert('domainID' + domainID);
}

答案 3 :(得分:0)

我认为这种变体比whoabackoff好一点

public int professionValue()
{
    enumProffesion enumValue= enumProffesion.valueOf(proffesion);
    switch (enumValue) {
    case Doctor: return 1; break;
    case Teacher: return 2; break;
    case student: return 3; break;
    default: return null;
    }
}

答案 4 :(得分:-1)

这有帮助吗? http://www.flexigrid-asp.net/demo/updatepanel.aspx 你可以用萤火虫看看它,看看事件被挂钩的地方。 请记住,flexigrid.js文件与官方项目中的文件略有不同。