重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Kendo UI开发总结 By Gloomyfish on 2013-04-25
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了长沙县免费建站欢迎大家使用!
在Grid中支持分页刷新:
scrollable: {virtual : true},
在Grid的DataSource中添加分页支持:
serverPaging: true,
serverSorting: true,
serverFiltering: true,
pageSize: 50,
在grid中显示列(显示/隐藏菜单)与过滤支持菜单
filterable: true,
columnMenu: true,
在Grid中隐藏某个指定的列,需要在columns中指定column下面添加:
hidden:true,
使用模板来格式化显示grid中的列数据,给对应列添加模板的代码如下:
template : "#=(value==-1) ? '-' :formatValue(value)#"
对齐显示grid中列文本的代码如下:
attributes:{ style: "text-align: right"}
绑定一个Kendo datasource到kendo.observable对象:
varformVM = kendo.observable({
sources: formDS,
source: null
});
绑定指定的formVM到某个Div元素:
kendo.bind($("#form_div"),formVM);
在页面数据改变时,更新绑定的数据源(DataSource):
formDS.bind("change", function() {
//binds the view-model to the first entryin the datasource
formVM.set("source", this.view()[0]);
});
强制更新form_div中的值:
formVM.set("source.userName", 'gloomyfish');对应的HTML为
"uname"name="uname" data-bind="value: source.userName"/>
启动一个新的浏览器新窗口代码如下:
varleft = (screen.width/2)-(800/2);
vartop = 0;//(screen.height/2)-(800/2);
// force to open new widows in chrome,IE, FF
window.open("personInfo.html","_blank","resizable=yes, scrollbars=yes,titlebar=yes, width=800, height=800, top="+ top +", left="+ left);
下载grid中选中的所有文件:
vargrid = $("#file_grid").data("kendoGrid");
vartr = grid.select(); //gets selected
if(tr.length >= 1) {
for(vari=0; i
varitem =grid.dataItem(tr[i]); //gets the dataSourceitem
varfid = item.id;
makeFrame("file/"+ fid +"/fileContent.htm");
}
}
functionmakeFrame( url )
{
varifrm = document.createElement( "IFRAME");
ifrm.setAttribute( "style", "display:none;") ;
ifrm.setAttribute( "src", url ) ;
ifrm.style.width = 0+"px";
ifrm.style.height = 0+"px";
document.body.appendChild( ifrm ) ;
}
通过window.location或者window.location.href打开指定URL
同步Grid数据更新,使用如下代码:
grid.dataSource.sync()
或者
myGrid.dataSource.read();
myGrid.refresh();
一个Ajax请求跳转页面的例子:
$.ajax({
url : "openMyInfo",
type : "POST",
data : {userName: name, userId:id },
success : function(jqXHR, textStatus) {
if(jqXHR.jsonResponse.success) {
varurl = jqXHR.jsonResponse.message;
window.location=url;
} else{
alert(jqXHR.jsonResponse.message);
}
},
error : function(jqXHR, textStatus, errorThrown) {
alert (errorThrown);
}
});
Kendo UI dropdown list级联菜单刷新:
在父dropdown list上绑定change事件函数:change : onItemChange
在函数中刷新更新子dropdow list的数据源(data source)
varsubDDList = $('#subListDiv').data("kendoDropDownList");
subDDList.setDataSource(buildSubList(selectParentId));
上传文件对话框使用
$("#selectedFiles").kendoUpload({
async: {
saveUrl: "myDomain/fileUpload.htm",
autoUpload: true
},
multiple:true, //支持多个文件上传,
complete: uploadFileComplete, //上传结束以后处理,
error: onError,
cancel: onCancel,
select: onSelect,
success: onSuccess
});
调用代码 $("# selectedFiles ").click();//模拟鼠标双击事件调用,
页面上selectedFileshtml元素为隐藏对象。
禁用IE缓存,在JQuery1.2以上版本支持:
$.ajax({
type:"GET",
url:"static/cache.js",
dataType:"text",
cache:false, // disable cache(禁用IE缓存)
ifModified:true
});
在HTML文件中加上:
"Expires"content="0"/>
"Cache-Control"content="no-cache"/>
"Pragma"content="no-cache"/>
提交数据之后打开在新窗口: