2010-04-20 3 views

ответ

1

Использовать собственный форматировщик в любой ячейке сетки. Для получения дополнительной информации об этом см. http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter

Вот как я это сделал. Я хотел, чтобы первый столбец в моей сетке выглядел так, как будто это ссылка на клики (но на самом деле она запускает пользовательское событие jqgrid, onCellSelect).

Отрывок из моего объекта сетки:

colModel :[ 
{name:'ticket', index:'IMINDT', width:125, formatter: pointercursor}, 

pointercursor это имя функции. Код для него определяется следующим образом:

// Custom formatter for a cell in a jqgrid row. 
function pointercursor(cellvalue, options, rowObject) 
{ 
var new_formatted_cellvalue = '<span class="pointer">' + cellvalue + '</span>'; 
return new_formatted_cellvalue; 
} 

Мой CSS класс "указатель" является:

.pointer { 
cursor: pointer; 
text-decoration: underline; 
}  

Вот оно!

+3

Я не большой поклонник добавления пролетом, как он на самом деле изменяет поведение onCellSelect , Если вы нажмете на контент «span», он не будет запускать событие onCellSelect. Обратитесь к Woggles как возможному обходу. – Mike

0

Мне кажется, что у вас нет вопроса jqgrid, но есть вопрос с чистым CSS или javascript. Посмотрите, например, на номер How to get cursor to change before mouse moves when changing the cursor style dynamically. Он показывает, как можно изменить курсор стиль элемента html. См. Также в разделе http://www.quirksmode.org/css/cursor.html, что «рука» поддерживается не во всех браузерах.

16

Это можно сделать легко с помощью классов colModel свойство, как показано ниже:

{ name: 'Email', index: 'Email', classes: 'pointer' } 

Из вики:

Эта опция позволяет добавлять классы в колонну. Если будет использовано более одного класса, должно быть задано пространство. В классах классов: «class1 class2» будет устанавливать класс1 и class2 в каждую ячейку этого столбца. В grid css имеется предопределенный ui-эллипсис класса, который позволяет присоединить многоточие к определенной строке. Также это будет работать и в FireFox.

5

Я просто добавить это в моем CSS файл

#mygrid .jqgrow{ 
    cursor:pointer; 
} 
+0

Спасибо, это решение добавляет указатель для всех столбцов. –

1

в CSS файле поместить это:

.ui-jqgrid .ui-jqgrid-btable { cursor : pointer; }