2010-07-20 6 views
1

Я использую jqGrid с subGrid. Но в какой-то строке я не хочу показывать значок Plus. Потому что я не хочу разрешать пользователю просматривать подсерию в этой строчке. Так может ли любой орган помочь мне, как скрыть значок плюса там. Я пробовал с приведенным ниже кодом, но не повезло.jqGrid hiding Плюс значок

afterInsertRow : function(rowid, rowdata, rowelem) { 
$("tr[id="+rowid+"]>td.ui-sgcollapsed>a") 
          .click(function(){return false;}) 
} 

Поступая выше я могу отключить значок Plus, который при щелчке значка плюс Подсеточное не будет открыт. Но мое требование - не показывать значок Plus вообще. , когда я делаю, как ниже, тогда границы не идут в IE6, а в границах mozila идут.

$("tr#1.ui-widget-content td:first span").removeAttr("class"); 

Кроме того, вызывая над кодом, он находится по щелчку ячейки снова. Появляется значок плюса.

Может ли любое тело сказать мне, как скрыть плюс значок. и отключить его событие click?

ответ

0

Попробуйте использовать событие onGridComplete. Когда сетка будет завершена, вам нужно будет найти строки, из которых вы хотите удалить значок плюса. Наконец, удалите класс, который используется для определения стиля значка плюс.

+0

Звучит как разумный подход. У вас есть код примера, чтобы начать его? –

1

Это работает для меня.

afterInsertRow: function(rowid, rowdata, rowelem) { 
     $("tr[id=" + rowid + "]>td:first").removeAttr("class"); 
     $("tr[id=" + rowid + "]>td:first").html(" "); 
} 
+0

как насчет полного удаления td и th? –

0

Это работает, даже если вы активировали мультиселекцию. (: first referres to columnbox)

afterInsertRow: function(rowid, rowdata, rowelem) { 
    $("tr[id=" + rowid + "]>td[aria-describedby$=_subgrid]").removeAttr("class"); 
    $("tr[id=" + rowid + "]>td[aria-describedby$=_subgrid]").html(" "); 
} 
Смежные вопросы