Pytanie Kolumny siatki Kendo Ukryj / pokaż, włącz / wyłącz


Jak ukryć / pokazać i włączyć / wyłączyć kolumny w siatce kendo pod warunkiem lub wydarzeniem. Mogłem tylko znaleźć opcję włączania / wyłączania kolumny kendogrid w .modelu

Każda pomoc jest doceniana.

Z góry dziękuję!


20
2017-11-12 13:45


pochodzenie




Odpowiedzi:


Pokazujesz / ukrywasz kolumny w KendoUI Grid, którego powinieneś użyć showColumn i hideColumni użyj jako argument liczby (indeksu kolumny, którą chcesz pokazać / ukryj) lub ciągu (nazwa pola powiązanego w tej kolumnie).

Przykład:

var grid = $("#grid").kendoGrid({
    dataSource: ds,
    editable  : false,
    pageable  : true,
    columns   :
    [
        { field: "FirstName", width: 90, title: "First Name" },
        { field: "LastName", width: 90, title: "Last Name" },
        { field: "City", width: 100 }
    ]
}).data("kendoGrid");

$("#show_col1").on("click", function() {
    // Use the index of the column to show
    grid.showColumn(0);
});

$("#hide_col1").on("click", function() {
    // Use the name of the field to hide it
    grid.hideColumn("FirstName");
});

Możesz kontrolować, czy kolumna powinna być początkowo ukryta przez ustawienie hidden w inicjalizacji kolumny.

Zobacz przykład tutaj: http://jsfiddle.net/OnaBai/XNcmt


31
2017-11-12 16:28



W związku z tym wiele hide / show działało jak czar, nawet jeśli siatka jest edytowalna. podobnie wszystko, co jest dostępne dla Włącz / Wyłącz kolumny w niestandardowym logicznym zdarzeniu pr. Thnx ponownie - Apurv Deshmukh
Nie wiesz o zrozumieniu ostatniej części komentarza "wszystko, co jest dostępne dla Włącz / Wyłącz kolumny w niestandardowym logicznym zdarzeniu pr" ... Zasadniczo użyj showColumn/hideColumn od zdarzenia lub gdy warunek jest spełniony. - OnaBai
Doskonały @OnaBai ... To jest świetna pomoc ... - Mahib
Cześć Jak możemy zrobić to samo dla surowca. - 3 rules
@padhiyar, czy próbowałeś użyć warunku filtrowania? - OnaBai


Siatka Kendo zawiera showColumn metoda, która pobiera indeks lub ciąg znaków kolumny. Aby włączyć ukrywanie / wyświetlanie kolumn, zainicjujesz kolumnę siatki X jako normalną kolumnę i oznaczysz ją jako ukrytą (w MVC jest to metoda .Hidden () podczas wiązania kolumny). Następnie na podstawie zdarzenia strony można po prostu wywołać showColumn (a następnie hideColumn, aby odwrócić operację).


1
2017-11-12 14:43





W przypadku Kendo Grid, która została już utworzona, możesz pokazać / ukryć, że wszystkie kolumny można edytować / nie można edytować przez:

var allowEdit = false;
var grid = $("#sampleGrid").data("kendoGrid");
grid.showColumn(0);
grid.showColumn(1);

if (!allowEdit) {
    grid.hideColumn(0);
    grid.hideColumn(1);
}
var len = $("#sampleGrid").find("tbody tr").length;
for (var i = 0; i <= len ; i++) {
    var model = $("#sampleGrid").data("kendoGrid").dataSource.at(i);
    if (model) {
        for (i = 0; i <= (grid.columns.length - 1) ; i++) {
            var column = grid.columns[i];
            model.fields[column.field].editable = allowEdit;
        }
    }
}

0
2017-09-28 16:58