Kendo UI开发教程:Kendo DataSource概述

本秂侑毒 提交于 2020-02-29 09:46:26

Kendo的数据源支持本地数据源(JavaScript对象数组),或者远程数据源(XML, JSON, JSONP),支持CRUD操作(创建,读取,更新和删除操作),并支持排序,分页,过滤,分组和集合等。

准备开始

下面创建一个本地数据源。

1

2

3

4

5

6

7

8

9

10

11

12

var movies = [ {

title: “Star Wars: A New Hope”,

year: 1977

}, {

title: “Star Wars: The Empire Strikes Back”,

year: 1980

}, {

title: “Star Wars: Return of the Jedi”,

year: 1983

}

];

var localDataSource = new kendo.data.DataSource({data: movies});

创建一个远程数据源 (Twitter)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

var dataSource = new kendo.data.DataSource({

transport: {

read: {

// the remote service url

url: “http://search.twitter.com/search.json”,

 

// JSONP is required for cross-domain AJAX

dataType: “jsonp”,

 

// additional parameters sent to the remote service

data: {

q: “html5″

}

}

},

// describe the result format

schema: {

// the data which the data source will be bound to is in the “results” field

data: “results”

}

});

绑定数据源到UI组件

Kendo UI组件很多都支持数据绑定 ,UI组件绑定的数据源可以在配置UI组件时设置,或是多个UI组件共享同一个数据源。创建UI组件时设置DataSource属性:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

$(“#chart”).kendoChart({

title: {

text: “Employee Sales”

},

dataSource: new kendo.data.DataSource({

data: [

{

employee: “Joe Smith”,

sales: 2000

},

{

employee: “Jane Smith”,

sales: 2250

},

{

employee: “Will Roberts”,

sales: 1550

}]

}),

series: [{

type: “line”,

field: “sales”,

name: “Sales in Units”

}],

categoryAxis: {

field: “employee”

}

});

使用共享的远程数据源:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

var sharableDataSource = new kendo.data.DataSource({

transport: {

read: {

url: “data-service.json”,

dataType: “json”

}

}

});

 

// Bind two UI widgets to same DataSource

$(“#chart”).kendoChart({

title: {

text: “Employee Sales”

},

dataSource: sharableDataSource,

series: [{

field: “sales”,

name: “Sales in Units”

}],

categoryAxis: {

field: “employee”

}

});

 

$(“#grid”).kendoGrid({

dataSource: sharableDataSource,

columns: [

{

field: “employee”,

title: “Employee”

},

{

field: “sales”,

title: “Sales”,

template: ‘#= kendo.toString(sales, “N0″) #’

}]

});

这个例子使用了模板 template,模板的用法参见后面的文章。

本文转载自Kendo UI中文网

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!