我的flexigrid已经设置好了。我所需要的只是一个当用户单击一行时调用的事件。从那里,我将根据该行中包含的数据将用户发送到另一个页面。但我似乎找不到任何关于如何做到这一点的例子。
我正在寻找一个关于如何使用flexigrid处理行onclick事件的清晰示例。
我还对任何其他可以在这种情况下使用的javascript表框架感兴趣。我一直在看DataTables,它看起来可能是一个更好的替代方案(而且项目似乎更活跃)
在flexigrid的初始设置中,将属性process:procMe添加到列模型中。示例:
colModel : [
{ display: 'Request', name : 'id', process: procMe }
]
然后创建一个回调:
function procMe( celDiv, id ) {
$( celDiv ).click( function() {
alert( id );
});
}
更好的解决方案
向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
});
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);
}
我认为这个变体比whoabackoff 好一点
$('.TableName').click(function(event){
$('.res').html('dbl');
alert('dbl');
});
这有帮助吗?http://www.flexigrid-asp.net/demo/updatepanel.aspx你可以用firebug看看它,看看这个事件在哪里被钩住了。请记住,flexigrid.js文件与官方项目中的文件有点不同。