0

Я пытаюсь реализовать сетку кендо с динамическими столбцами и данными, показывающими [object Object].Как показать фактические данные объекта [object Object] в сетке кендо

Как показать адрес [объект Object] данные в моей кендо сетке и я хотел бы пример вывода, чтобы быть похожим на таблице ниже: -

Name  | Phone   |  Address 
------------------------------------------------ 
John Smith | (519) 420-2391 | Address 1: London 
      |    | Address 2: 123 

var peoples = [], 
 
    address = []; 
 

 

 
peoples = [{ 
 
    id: 1, 
 
    name: "John Smith", 
 
    phone: "(519) 420-2391", 
 
    address: [{ 
 
    address1: "london", 
 
    address2: "123" 
 
    }] 
 

 
}]; 
 

 
$("#grid").kendoGrid({ 
 
    dataSource: { 
 
    data: peoples, 
 

 
    }, 
 
    scrollable: true, 
 
    sortable: true, 
 
    resizable: true, 
 
    pageable: true, 
 
    columnMenu: true, 
 

 
    columns: [{ 
 
    field: "name", 
 
    title: "Name" 
 
    }, { 
 
    field: "phone", 
 
    title: "Phone number" 
 
    }, { 
 
    field: "address", 
 
    title: "Address" 
 
    }], 
 

 
});
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <meta charset="utf-8"> 
 
    <title>Untitled</title> 
 

 
    <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.2.714/styles/kendo.common.min.css"> 
 
    <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.2.714/styles/kendo.rtl.min.css"> 
 
    <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.2.714/styles/kendo.default.min.css"> 
 
    <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2016.2.714/styles/kendo.mobile.all.min.css"> 
 

 
    <script src="http://code.jquery.com/jquery-1.12.3.min.js"></script> 
 
    <script src="http://kendo.cdn.telerik.com/2016.2.714/js/angular.min.js"></script> 
 
    <script src="http://kendo.cdn.telerik.com/2016.2.714/js/jszip.min.js"></script> 
 
    <script src="http://kendo.cdn.telerik.com/2016.2.714/js/kendo.all.min.js"></script> 
 
</head> 
 

 
<body> 
 
    <div id="example"> 
 
    <div id="grid"></div> 
 
    </div> 
 

 
</body> 
 

 
</html>

ответ

1

Вы можете использовать функциональность columns.template для достижения желаемого результата. (Reference)

В зависимости от вашей структуры данных можно использовать шаблон, похожий на этот:

Address 1: <span>#: address[0].address1 # </span> 
<br/> 
Address 2: <span>#: address[0].address2 # </span> 

Я также создать Dojo, показывающий пример.

+0

Спасибо за решение, он отлично работает –

+0

Если некоторые из моих данных не содержат адрес 2, тогда в таблице будет отображаться адрес 2: undefined. есть ли способ удалить или скрыть это? –

+1

Вы можете отправить адреса в виде массива. Затем вы можете использовать цикл 'for' внутри шаблона. Взгляните на [Документацию по шаблонам] (http://docs.telerik.com/kendo-ui/framework/templates/overview), чтобы узнать, что возможно. – Philipp

Смежные вопросы