0

我是数据表的新手,我有这个问题困扰了我一段时间。例如,我正在尝试编辑第 5 列,但我想对部分行禁用它.. 可能吗?因为我似乎找不到路..

                        $('td:eq('5')', oTable.fnGetNodes()).editable('/'+appName+'/GetGenWidgetTableDataServlet', 
                            {
                              type : 'text',
                              tooltip: 'Click to Edit',
                              indicator: 'Saving...',
                              placeholder : '',

                        "callback": function( sValue, y ) {
                            var aPos = oTable.fnGetPosition( this );
                            oTable.fnUpdate( sValue, aPos[0], aPos[2],true,true );
                        },
                        "submitdata": function ( value, settings ) {
                        debugger
                        var iPos = oTable.fnGetPosition( this );
                        var colPos = iPos[2];
                        iPos = iPos[0];
                        if(iPos!=null)
                        {
                            var aData = oTable.fnGetData( iPos );
                            var vRowType = aData[0];
                            var iId = aData[2];
                            var moduleID = iId.split("$")[0];
                            var unitID = iId.split("$")[1];
                            var processID = iId.split("$")[2];
                            var riskID = iId.split("$")[3];
                            var controlID = iId.split("$")[4];
                        }
                            return {
                                "Token": idhref,
                                "moduleID" :moduleID,
                                "unitID": unitID,
                                "processID" :processID ,
                                "riskID": riskID,
                                "controlID": controlID,
                                "rowType":vRowType,
                                "Action": "saveRow",
                                "columnName": aoCols[colPos]["Id"]
                            };
                        },
                        "height": "25px",
                        "width": "50px"
                    }
4

1 回答 1

2

我们使用数据表可编辑插件 ( https://code.google.com/p/jquery-datatables-editable/ ),它允许您设置 sReadOnlyCellClass。我们根据行中的值在数据表 fnRowCallBack 函数中设置该类。

您可以在 fnRowCallBack 中设置一个“可编辑”类

oTable = $('#resultTable').dataTable( {
    ...
"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
        if ( aData["something"] == "This row should be editable" )
        {
            nRow.className = "editable";
        }
    return nRow;
    }
    ...
});

并将您的选择器修改为

oTable.$('tr.editable td:eq(5)').editable( ...)
于 2013-08-19T19:13:11.127 回答