редактирование условий с использованием таблиц данных .editable(..)

Я новичок в таблицах данных, и у меня есть эта проблема, которая меня беспокоит некоторое время. например, я пытаюсь отредактировать 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"
                    }

person yoni    schedule 19.08.2013    source источник


Ответы (1)


Мы используем редактируемый плагин datatables (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( ...)
person Barbara Laird    schedule 19.08.2013