kendoui网格,默认模板和编辑器
kendo-ui grid, default templates and editors
我在durandal项目中工作,喜欢使用你的剑道ui网格。
在我的项目中,我需要动态地构建网格列阵列。即,我(通过ajax请求)获得关于每个网格列的信息的数据数组,并通过在数据数组上循环来构建网格。
这是我的代码:
function initGrid(formInfo, FormFieldsInfo) {
//=========================================
//region: build dinamic fridColumns, gridSchema
//=========================================
var columns = [];
var fields = {};
var primaryKey = null;
$.each(FormFieldsInfo, function addGridColumn(index, fieldInfo) {
var column = {};
column.field = fieldInfo.FieldName;
column.headerTemplate = "<span class='headerGrid-att'>" + fieldInfo.DisplayTitle + "</span>";
column.attributes = { "class": "columnBorder" };
column.template = getColumnTemplate(fieldInfo.ComponentType, fieldInfo.FieldName);
column.editor = getColumnEditor(fieldInfo.ComponentType);
columns.add(column);
var field = {};
field.type = global.enums.fieldType[fieldInfo.FieldType];
field.editable = true;
fields[fieldInfo.FieldName] = field;
if (fieldInfo.isKey == true) {
primaryKey = fieldInfo.FieldName;
}
});
vm.grid.gridOptions.columns = columns;
vm.grid.schema = {
data: 'Data',
model: {
id: primaryKey,
fields: fields
}
};
var dataQuery = {
UserNo: global.cache.get(global.enums.cacheItems.USER).Id,
ProcedureName: formInfo.SelectProcedure
};
//=========================================
//end region: build dinamic fridColumns, gridSchema
//=========================================
vm.grid.dataSourceUrl = global.webApiConfig.getApiPath(global.enums.httpPath.GetETableGridData.path + '?query=' + JSON.stringify(dataQuery));
vm.grid.remoteDataSource = true;
vm.grid.setDataSource();
vm.grid.setGridOptionsSetting({ editable: "popup" });
}
function getColumnTemplate(type, fieldName) {
switch (type) {
case global.enums.componentType.checkBox:
return function checkBoxTemplate(dataItem) {
return vm.grid.activeNotActiveTemplate(dataItem[fieldName])
};
case global.enums.componentType.dateTime:
return function dateTemplate(dataItem) {
return vm.grid.ParseDateFormat(dataItem, fieldName)
};
default: //simple edit, combo
return ???
}
}
function getColumnEditor(type, fieldName) {
switch (type) {
case global.enums.componentType.date:
return function dateEditor(container, options) {
vm.grid.datePickerEditor(container, options, false);
}
case global.enums.componentType.time:
return function timeEditor(container, options) {
vm.grid.inputTimeEditor(container, options, new timeInput())
}
default: //simple edit,checkBox, combo
return ???
}
}
我的问题是:
在常规网格中,使用consts列数组,我不会为常规字段(如简单字符串数据)提供任何模板或编辑器,也不会为boolean checkBox列提供任何编辑器。
但是,在这种情况下,我必须始终返回template/editor函数。那么,我能做什么呢?我必须写的反熔丝代码是什么?(我必须在???标记的背面写些什么?)
谢谢!
将???
替换为undefined
,这将使其调用默认方法。
相关文章:
- ExtJS网格单元格编辑器,防止焦点松动问题
- 可以't使用PHP使用Froala编辑器上传图像URL
- 如何在corona sdk中从CK编辑器中检索数据
- Eclipse编辑器中无法访问的代码
- 如何将拼写检查集成到密文编辑器
- 一个页面上有多个Ace编辑器,没有预先设置元素
- ACE编辑器正在删除模块,因为define是't一根绳子
- 如何从DOM中删除Aloha编辑器
- 用于用户内容的简单代码编辑器/文本格式化程序(在Rails中)
- 在plone 5中将自定义的灵活性内容类型插入到tinymce编辑器中
- 如何在tinymce编辑器中将点击事件绑定到html标签
- 扩展 ACE 编辑器,如何导入自定义文件
- dhtmlx添加新行并启动单元格编辑器
- 为现有Roslyn语言lexer/parser选择基于javascript的代码编辑器
- THRE.js编辑器中的鼠标问题
- 更改.js扩展默认编辑器 (Win7)
- 如何在TinyMce编辑器中更改默认字体调色板
- 如何设置默认字体大小的Froala编辑器
- kendoui网格,默认模板和编辑器
- 如何在默认情况下显示剑道内联编辑器工具栏