jQuery - jQGrid - развернуть, свернуть подсетку по щелчку строки сетки

Здесь есть ответ о том, как расширить подсетку, когда мы щелкаем строку, используя:

onSelectRow: function(rowId) {
    $("#jqgrid_id").expandSubGridRow(rowId);
}

Как свернуть строку, если она уже развернута? Я ищу что-то вроде:

onSelectRow: function(rowId){ 
    if (the_row_of_the_grid is expanded) {
        // collapse: How implement this???
    } else {
        $("#jqgrid_id").expandSubGridRow(rowId);
    }
}

чтобы иметь полное развертывание/свертывание при щелчке строки.


person mirku    schedule 27.11.2010    source источник


Ответы (3)


Я не тестировал его, но мне кажется, что следующий код должен делать то, что вам нужно:

onSelectRow: function (rowId) {
    $("#jqgrid_id").jqGrid ('toggleSubGridRow', rowId);
}

(см. документацию по jqGrid)

person Oleg    schedule 27.11.2010

мне нужно было то же самое, но я не мог разрешить расширение сетки в случае, когда она уже была свернута, поэтому «toggleSubGridRow» не работал бы для меня. В ситуации, когда следует разрешить только коллапс, лучше использовать метод 'collapseSubGridRow'.

onSelectRow: function (rowId) {
    $("#jqgrid_id").jqGrid ('collapseSubGridRow', rowId);
}
person ccwasden    schedule 25.01.2011

сначала у меня это не сработало xD... Я установил selectOnExpand в своих subGridOptions, поэтому каждый раз, когда я нажимаю на расширение, он выбирает строку и снова вызывает onSelectRow, ахаха... так смешно...

Надеюсь, это поможет такому дураку, как я :)

person Ro Siade    schedule 02.06.2015