Получить тип ячейки сетки DHTMLX

Как мне получить имя этого объекта, обведенное красным (см. изображение). Я уже пробовал это, и это не сработало: https://stackoverflow.com/a/10314492/3112803

Подробности. У меня есть сетка DHTMLX, в которой ячейки в определенном столбце могут быть разных типов для каждой строки (флажок или изображение). Насколько я могу судить, их API позволяет УСТАНОВИТЬ различные типы, например: mygrid.setCellExcellType(rowId,colIdx,"img");, но у них нет функции для ПОЛУЧЕНИЯ типов. http://docs.dhtmlx.com/doku.php?id=dhtmlxgrid:api_toc_alpha Мне нужно определить тип ячейки (и я не хочу делать это, глядя на innerHTML). Посмотрите на прикрепленное изображение из консоли Chrome. Это объекты в ячейках. Если я смогу каким-то образом схватить то, что обведено красным, я смогу определить тип. Я не знаю, как понять это имя.

введите здесь описание изображения

ОБНОВЛЕНИЕ: Проблема еще не решена. Другой форум по тому же вопросу: http://forum.dhtmlx.com/viewtopic.php?f=2&t=34217&start=0


person gfrobenius    schedule 24.01.2014    source источник
comment
Основываясь на вашем сообщении здесь и на forum.dhtmlx.com, я предполагаю, что вы установили/изменили GridCellType через JavaScript, верно? Разве нельзя было бы сохранить все сделанные вами изменения в 2D-массиве? Вы можете инициализировать его в тот момент, когда создаете свою сетку, и обновлять ее каждый раз, когда вы меняете GridCellType в своей сетке.   -  person endofsource    schedule 04.02.2014
comment
Да вы правы. Это было бы возможно, спасибо за предложение, я могу это сделать. DHTMLX ответил на своем форуме, сказав, что функции типа getCellExcellType() не существует, поэтому я либо сделаю ваше предложение, либо просто оставлю свой try/catch на месте. Когда я пытаюсь выполнить действие с флажком на изображении (которое раньше было флажком), оно терпит неудачу, поэтому try/catch работает нормально. Я просто ненавижу использовать их в качестве обходных путей. Я бы предпочел if(getCellExcellType()==='ch') ...do checkbox stuff..., ну да ладно.   -  person gfrobenius    schedule 05.02.2014
comment
Вы можете передать код try-catch в отдельную функцию, например isCellCheckBox(rowId, cellId), и использовать ее следующим образом: if (isChellCheckBox(42,13)) ... do checkbox stuff.... Если вы затем измените свою реализацию так, как я предложил, вам просто нужно изменить эту одну функцию (:   -  person endofsource    schedule 05.02.2014


Ответы (1)


Хм, в API есть функция getColType(cInd).

mygrid.getColType(8) ---> возвращает, т.е. "цену"

GRID API

person user2844810    schedule 28.01.2014
comment
Мои типы различны для каждой строки в одном столбце. Поэтому мне нужно получить тип для каждой ячейки (данный rowId, colIdx). - person gfrobenius; 29.01.2014