KendoUI —— data management 類元件 Grid 表格
一、效果展示
二、基礎學習
1、元件基礎引用js與css
2、語法<script src="resource/kendoui/js/jquery.min.js"></script> <script src="resource/kendoui/js/kendo.all.min.js"></script> <!-- 熟悉時可引用特點元件的js --> <link href="resource/kendoui/styles/kendo.common.min.css" rel="stylesheet" /> <!-- 基本樣式定義,必須 --> <link href="resource/kendoui/styles/kendo.default.min.css" rel="stylesheet" /> <!-- 預設的所有 kendoUI 元件的樣式定義-->
$("#id").kendoGrid({ 屬性設定列表 });
三、屬性1、dataSource了與 schema 屬性
資料來源,可以是本地資料(如:json物件陣列)或遠端資料(如:訪問REST 服務返回json資料)
下面是自己測試成功的模板(官網給的不可用!):
說明:<div id="grid1"></div> <div id="grid2"></div> <script> var people = [ { firstName: "John",lastName: "Smith",email: "[email protected]
" } ]; $(document).ready(function () { //載入本地資料 $("#grid").kendoGrid({ dataSource:people}); //設定資料來源為本地json物件陣列,表頭即屬性firstName、lastName、Email //重點:載入遠端資料 $("#grid").kendoGrid({ dataSource:{ transport:{ read:{ url:"REST_URL", //REST_URL 為返回json物件陣列的REST 服務 dataType:"json" //REST 服務一般返回json } }, schema:{ data:"dataName", //必須屬性,dataName為我們使用的json物件陣列 model:{ //欄位對映與解析 fields:{ fieldName1:{type:"string|number|date"} fieldName2:{type:"string|number|date"} …… } } } }, //欄位與表格表頭的對映 columns:[ {field:"fileName1",title:"第一列的表頭"}, {field:"fileName2",title:"第二列的表頭"} …… ] //其它設定 }); }); </script>
1)、本地dataSource,不能為json物件,只能為json物件陣列,且json物件不能巢狀!
2)、遠端的dataSource,必須指定與transport 對應的schema,表示使用的具體資料;
3)、schema 的 data屬性值為 REST 服務返回物件的JSON 物件陣列名,因為REST 返回的實際是一個Object 物件,該物件裡面包含了counts、fields、_proto_ 三個屬性,其中fields 是一個json物件陣列(它的名字應該與我們具體定義的Controller對映路徑有關),也即我們真正需要的資料。
先測試下:
第一步:
SpringMVC 工程Test 中定義了一個REST Service,其某個方法的絕對訪問路徑為:http://localhost:8082/Test/service/request/fields,它查詢資料庫設定model後,返回一個MappingJacksonJsonView 物件。
第二步:
瀏覽器測試訪問該服務,並檢視具體返回的資料。
測試程式碼:
var obj2;
$.get(
"service/request/fields",
function(data){ obj2=data };
"json"
);
結果:可見,返回的是Object,而我們需要的是fields的json物件陣列,所以不能直接使用。
第三步:
生成最基礎的表格,測試關鍵js程式碼:
//#test_grid為一個空div
var grid=$("#test_grid").kendoGrid({
dataSource:{
transport : {
read : {
url : "service/request/fields",
dataType : "json"
}
},
schema: {
data:"fields",
model: {
fields: {
id: { type: "string" },
name: { type: "string" }
}
}
}
},
height: 300,//沒有width屬性,因為通常是在div中生成表格,而div為塊元素
groupable: true,
sortable: true,
pageable: {
refresh: true,
pageSizes: true,
buttonCount: 5
},
columns: [
{field:"name",title:"Name",width:50},
{field:"id",title:"ID",width:50}
]
});
結果:
所有的記錄都在展示在同一個表格中,左下角的按鈕樣式不對(說明沒有引用某個css檔案),且資料沒有進行分頁,右下角顯示no items to display。
第四步:
修改data 屬性值,程式碼為:
var grid=$("#test_grid").kendoGrid({
dataSource: {
transport: {
read: "service/request/fields",
type: "GET",
dataType:"json"
},
schema: {
data: function(d){
return d.fields;
},
model: {
fields: {
id: { type: "string" },
name: { type: "string" }
}
},
total: function(data) {
return data.fields.length;
}
},
pageSize: 20
},
height: 300,
groupable: true,
sortable: true,
filterable:true,
pageable: {
refresh: true,
pageSizes: true,
buttonCount: 5
},
columns: [
{field:"name",title:"Name",width:50},
{field:"id",title:"ID",width:50}
]
});
同時引入kendo.default.min.css,則結果為:
若上面改為引入kendo.bootstrap.min.css,則結果樣式為:
四、總結
1、關於引用的js 與css 檔案
必須引用:
<script src="resource/kendoui/js/jquery.min.js"></script>
<script src="resource/kendoui/js/kendo.all.min.js"></script> <!-- 熟悉時可引用特點元件的js -->
<link href="resource/kendoui/styles/kendo.common.min.css" rel="stylesheet" /> <!-- 基本樣式定義,必須 -->
<link href="resource/kendoui/styles/kendo.default.min.css" rel="stylesheet" /> <!-- 預設的所有 kendoUI 元件的樣式定義-->
說明:
對元件比較熟悉時,可不引用kendo.all.min.js而只引用用到的元件的js。對kendo.default.min.css同理,可替換為bootstrap風格的kendo.bootstrap.min.css或其它風格的css。
2、資料欄位格式
格式有string、number、date等,都可對顯示的資料格式進行控制。如:
columns: [
{field:"stringType",title:"字串型別",width:100},
{field:"numberType",title:"數字型別",width:100},
{field:"dateType", title:"日期型別",width:100}
]
3、資料繫結
作用:
實現:
4、較完整可重用示例
程式碼:
效果:
相關推薦
KendoUI —— data management 類元件 Grid 表格
一、效果展示 二、基礎學習 1、元件基礎引用js與css <script src="resource/kendoui/js/jquery.min.js"></script>
[Ext JS 6 By Example 翻譯] 第5章 - 表格元件(grid)
轉載自:http://www.jeeboot.com/archives/1225.html 本章將探索 Ext JS 的高階元件 grid 。還將使用它幫助讀者建立一個功能齊全的公司目錄。本章介紹下列幾點主題: 基本的 grid 排序 渲染器 過濾
vue中使用extends繼承父類元件改寫data屬性問題
記首次開博 給大家分享最近踩到的一個vue開發中的坑 最近跳槽換了一家公司,技術棧也從Ng4換成了vue.js 2.0版本,使用的vue-cli腳手架 由於是開發的一個後臺管理系統 大部分模組的table都差不太多,那當然是選擇使用繼承的方式來實現 less c
jquery easyui grid 表格特殊字符處理
數據庫字段 一個 cti enc formatter val 提示 ddr 特殊字符 grid 獲取的數據中,如果數據存在測試的字符,或者js語句,會導致頁面布局錯亂,如下方法,讓獲取到的數據全部當成文本進行顯示 此操作主要防止以下亮點 1. 由於業務需要,查詢的數據中
jquery mobile常用的data-role類型介紹
展開 參數表 標準 pop 普通 方式 color 狀態 16px 轉自原文 jquery mobile常用的data-role類型介紹 data-role參數表: page 頁面容器,其內部的mobile元素將會繼承這個容器上所設置的屬性 head
ui-grid表格怎麽實現內容居中
col logs 發現 居中 ges 同事 lte 思路 調整 這次是思想落後了,只關註怎麽使用原生的ui-grid樣式來實現這一需求,後來發現可以通過此列的cellTemplate來為列指定內容,從而可以使用css調整樣式。 ps:其實有時候換種思路,豁然開朗。 類似之
jsp頁面帶有多選框的grid表格,如何將勾選中的行記錄所有列數據傳送到後臺。
blank href 後臺 aaa 數據 www hue 選中 cs6 忱分慕兇釉瀑懲防慌虜敝慘緩猩http://jz.docin.com/shuvg316 帳段繁臨市杉聞壞倫捶剎空合戀http://huiyi.docin.com/ogq2843 杏燎乘安轄任凸托飯承臨
TERSUS畫畫一樣開發軟件 顯示元件介紹-表格顯示元件
無代碼件開發;管理軟件;軟件開發TERSUS無代碼手機電腦管理類軟件開發,其中表格顯示元件包括:簡單表格顯示元件(Simple Table)、復雜表格顯示元件(Table) 簡單表格顯示元件(Simple Table):是一個簡單的二維固定樣式表格元件,其中只有一個顯示列的數據結構是可以變更的,默認有一個日期
TERSUS畫畫一樣開發軟件 集合類元件介紹-多個對象處理元件1
軟件開發;管理軟件;無代碼軟件TERSUS無代碼手機電腦管理類軟件開發,其中多個對象處理元件包括:是否存在於一組對象中(Appears)元件、從一組對象中去除(Exclude From List)元件、一組對象的總數計算(Count)元件 是否存在於一組對象中(Appears)元件:是檢查一組對象中,是否有某
TERSUS畫畫一樣開發軟件 集合類元件介紹-多個對象處理元件2
軟件開發;管理軟件;無代碼軟件TERSUS無代碼手機電腦管理類軟件開發,其中多個對象處理元件還包括:合並兩組對象(Merge)元件、對象分組(Group Items)元件、數字篩選(Filter Numbers)元件 合並兩組對象(Merge)元件:是將兩組對象合為一組對象,比如兩個表格中每行數據結構相同,則
TERSUS畫畫一樣開發軟件 集合類元件介紹-單個對象的處理元件
軟件開發;管理軟件;無代碼軟件TERSUS無代碼手機電腦管理類軟件開發,其中單個對象的處理元件包括:生成對象中(Create)元件、是否出現(Exist)元件、查找對象(Find Elements)元件 生成對象中(Create)元件:生成某個對象的元件,系統中可能並沒有這個對象或對象默認為不生成(右鍵去掉勾
TERSUS畫畫一樣開發軟件 集合類元件介紹-對象序號相關元件
軟件開發;管理軟件;無代碼軟件TERSUS無代碼手機電腦管理類軟件開發,其中對象序號相關元件包括:第一個結果(First)元件、第幾個結果(Get Numbered Item)元件、最後一個(Last)元件、在某個位置插入(Merge)元件、在某個位置刪除(Group Items)元件 第一個結果(First
TERSUS畫畫一樣開發軟件 集合類元件介紹-對象排序相關元件
軟件開發;管理軟件;無代碼軟件TERSUS無代碼手機電腦管理類軟件開發,其中對象排序相關元件包括:數字序列(Range)元件、排序(Sort)元件、去重(Unique Items)元件 數字序列(Range)元件:是創建一個包含指定範圍的數組,創建出一個整數列表,和有代碼開發一樣,一般是用在循環中的,比如需要
TERSUS畫畫一樣開發軟件 集合類元件介紹-對象映射元件
軟件開發;管理軟件;無代碼軟件TERSUS無代碼手機電腦管理類軟件開發,其中對象映射元件包括:生成映射項(Put Map Entry)元件、獲取映射項(Get Map Entry)元件 生成映射項(Put Map Entry)元件:是將鍵-值進行匹配生成一對一對的對應對象的元件,當知道鍵時,也就知道對應的值了
ExtJs 日期相加,Grid表格列可編輯
for CI tex lec combox ant head tool RM 1、日期相加: Ext.Date.add(new Date(), Ext.Date.DAY, 15) 2、Grid表格列可編輯: { header : "實際已交貨量",
Static int data語句說明data為類變量,為一個類的共享變量,屬於整個類
continue tin 編譯 spa 階乘 bsp 輸出 tom sys 面向對象高級: 修飾符: static:①可修飾變量(屬性);②可修飾方法;③可修飾代碼塊。 Static int data語句說明data為類變量,為一個類的共享變量,屬於整個類。 Int da
grid表格
isp pla .com -a ack utf-8 gre per back <!DOCTYPE html><html><head><meta charset="utf-8"><title>grid
idea @Data實體類get/set報錯
最近,用idea新匯入了一個Java web專案,同樣的程式碼在eclipse中就不會報錯,但是在idea就有問題,程式碼編譯不通過,紅標,啟動報錯,最後在git上找到原因:lombok在idea中是需要裝外掛的....... 網上查了很久的資料才
使用hibernate建立實體類對應的表格
1.建立實體類 public class User { private int uid; private String name; private String age; private String address; public int getUid(
關於父類元件與子類元件的互相傳值
第一步:子類向父類傳值 在java中父類是可以將值傳給子類的,但是卻不能從子類拿到值,同理子類是可以將父類的值拿到手,但是卻不能將自己的值傳給父類 而在vue中,子類和父類之間是不允許傳值的但是,我們可以利用關聯和引用來讓他們之間建立起一些聯絡 子類向父類傳值要使用$emit