Kendo Grid Изменение названия динамических столбцов на основе данных


1 принят

Я достиг «динамических» заголовков столбцов (после многих сообщений об устранении неполадок с помощью Telerik), запросив данные перед инициализацией gridчерез AJAXвызов, а затем определяя имена столбцов на основе данных.

$.ajax({
    type: "POST",
    url: "/Controller/GetGridData",
        // *Important* stringify the server-bound object
        data: JSON.stringify(dataSourceId),
        dataType: "json",
        contentType: "application/json",
        async: true,
        success: function(response) {
            // response contains data required for grid datasource
            ConstructGrid(response);
        }
    });

function ConstructGrid(gridData) {
    var dataSource = new kendo.data.DataSource({
       ... attributes
       data: gridData,
       ... more attributes
    });
    var columnsArray = [];
    if(gridData.attributeToCheck = "someValue") {
       columnsArray.push({field: attributeEqualToSomeValue, title="attributeMatchingSomeValue"});
    }
    else {
        columnsArray.push({field: attributeNotEqualToSomeValue, title="attributeNotMatchingSomeValue"});
    }
    .. continue to add more columns based on data then initialise grid
    $("#grid").kendoGrid({
        dataSource: dataSource,
        filterable: {
            extra: false
        },
        columns: columnsArray,
        pageable: {
            pageSizes: true,
            pageSizes: [10, 20, 50, 100]
        }
    )};
}

Не точно 100% динамический, но он изменит имена столбцов на основе значений, полученных из вызова AJAX и AFAIK (после общения взад и вперед с Telerik), по-настоящему динамические столбцы не поддерживаются элементом управления сеткой.


0

Проверьте этот Jsbin

`https://output.jsbin.com/lesoxes/`

В этом примере я использовал источник данных kendo.

вы получите все сведения о столбцах в консоли.

Могу помочь вам

JavaScript, JQuery, кендо-ще, кендо-сетка,

javascript,jquery,kendo-ui,kendo-grid,

0

Ответов: 2


1 принят

Я достиг «динамических» заголовков столбцов (после многих сообщений об устранении неполадок с помощью Telerik), запросив данные перед инициализацией gridчерез AJAXвызов, а затем определяя имена столбцов на основе данных.

$.ajax({
    type: "POST",
    url: "/Controller/GetGridData",
        // *Important* stringify the server-bound object
        data: JSON.stringify(dataSourceId),
        dataType: "json",
        contentType: "application/json",
        async: true,
        success: function(response) {
            // response contains data required for grid datasource
            ConstructGrid(response);
        }
    });

function ConstructGrid(gridData) {
    var dataSource = new kendo.data.DataSource({
       ... attributes
       data: gridData,
       ... more attributes
    });
    var columnsArray = [];
    if(gridData.attributeToCheck = "someValue") {
       columnsArray.push({field: attributeEqualToSomeValue, title="attributeMatchingSomeValue"});
    }
    else {
        columnsArray.push({field: attributeNotEqualToSomeValue, title="attributeNotMatchingSomeValue"});
    }
    .. continue to add more columns based on data then initialise grid
    $("#grid").kendoGrid({
        dataSource: dataSource,
        filterable: {
            extra: false
        },
        columns: columnsArray,
        pageable: {
            pageSizes: true,
            pageSizes: [10, 20, 50, 100]
        }
    )};
}

Не точно 100% динамический, но он изменит имена столбцов на основе значений, полученных из вызова AJAX и AFAIK (после общения взад и вперед с Telerik), по-настоящему динамические столбцы не поддерживаются элементом управления сеткой.


0

Проверьте этот Jsbin

`https://output.jsbin.com/lesoxes/`

В этом примере я использовал источник данных kendo.

вы получите все сведения о столбцах в консоли.

Могу помочь вам

JavaScript, JQuery, кендо-ще, кендо-сетка,
Похожие вопросы