2013-08-16 1 views
2

Мне нужно получить объект ячейки (не значение ячейки) от моего бетатера клиента.Как я могу получить доступ к объекту ячейки из пользовательского форматирования?

То, что я пытаюсь сделать, это разместить одно из моих суперфиш-меню рядом с ячейкой, поэтому мне нужно получить доступ к ячейке из jQuery.

На данный момент я получил строку Index и индекс столбца изнутри форматирования, но мне нужно получить доступ к текущей ячейке из JQuery.

После дальнейшего анализа сгенерированного кода кажется, что для ячейки таблицы в jqGrid нет идентификатора.

Мне кажется, что я должен это сделать, используя параметр RowObject, но до сих пор все мои попытки потерпели неудачу.

Ниже мой упрощенный код:

function ViewColumnFormatter(cellvalue, options, rowObject) { 
    if (cellvalue == undefined || cellvalue == "") 
     return ""; 

    if (options.colModel.commandCount > 1) { 
     // Here, I need to access the cellObject... 
     // I know about options.rowId and options.pos 
     // What I need is to access the cell "object" 
    } 
} 

Как я могу получить доступ к объекту клеток внутри пользовательского форматировщиком?

ответ

0

Вы можете ввести любой HTML-код, используя пользовательский форматтер.

Если вы используете собственный форматтер вместе с xml-типом данных, то параметр rowObject будет объектом, представляющим элемент DOM соответствующей строки XML-ввода. Тип объекта rowObject - IXMLDOMElement. Для того, чтобы найти содержат соответствующего дочернего элемента, которые соответствуют в колонке «MyColumn» вы можете использовать, например,

$(rowObject).find('myColumn') 

Если вы используете loadonce: параметр верно jqGrid, то при первой загрузке параметр rowObject будет DOM элемент и в дальнейшем в качестве имени объекта JavaScript и данные, которые вам нужно будет обращаться как rowObject.myColumn

См Question

+0

Спасибо за ответ, но это не может мне помочь, потому что у меня есть только индекс строки и индекс столбца для ссылки на ячейку. не могли бы вы объяснить, как я могу найти значение для «myColumn»? Еще раз спасибо ... – Menol

+0

Я предлагаю вам использовать jQuery.isArray (rowObject) как быстрый и эффективный способ определить, следует ли вам обращаться к rowObject для целочисленного индекса rowObject [3] (если вы получаете доступ к удаленным данным) или по названному свойству rowObject.myColumn – Deepak