从Kendo中的columns.filterable.cell.template函数访问列字段名
Access the column field name from the columns.filterable.cell.template function in Kendo
因为我在整个web应用程序中使用了很多剑道网格,所以我开始引入一些冗余代码,这给我带来了很多麻烦。想象一下有这样的东西:
//MVC:
...
columns.Bound(c => c.Column1).Filterable(f => f.Extra(false)
.Operators(o => o.ForString(str => str.Clear().Contains("Contains")))
.Cell(c => .ShowOperators(false).Template("column1Filter")))
.Title("Column One");
...
//JS:
function column1Filter(container) {
container.element.kendoAutoComplete({
filter: "contains",
dataTextField: "Column1",
dataValueField: "Column1",
valuePrimitive: true,
dataSource: container.dataSource
});
}
然后,为每个网格中的每个单列复制此方法。有没有什么方法可以让我只有一个方法来创建剑道自动完成?E.G:
function genericAutocompleteFilter(container) {
var columnsName = //...Meh!
container.element.kendoAutoComplete({
filter: "contains",
dataTextField: columnsName,
dataValueField: columnsName,
valuePrimitive: true,
dataSource: container.dataSource
});
}
我认为您可以使用闭包来获得您需要为columnName定制的函数。类似于:
function getAutoCompleteFunction(columnName) {
return function (container) {
container.element.kendoAutoComplete({
filter: "contains",
autoBind: false,
dataTextField: columnName,
dataValueField: columnName,
valuePrimitive: true,
dataSource: container.dataSource
})
}
然后使用getAutoCompleteFunction("column1")作为示例。
最后,有两种方法可以实现。对于"color"列,我们可以将其与kendo MVC(剃刀)一起使用。而专栏"大小",它来自@massimofranciosa的建议。
http://dojo.telerik.com/uqita/5.
相关文章:
- 访问函数外部的变量
- 从嵌套函数访问函数属性
- 访问函数对象的上下文属性|如何
- jQuery 无法使用 AJAX 调用访问函数内部的函数参数
- 访问函数中的函数名称
- 访问函数'的属性
- 访问函数内部的Polymer方法
- 从另一个文件访问函数的返回值
- 如何从AngularJS外部访问函数
- 如何在 JavaScript 中访问函数中的其他属性值作为对象属性值
- 从require()'d文件访问函数
- 如何访问函数中的变量
- JavaScript 访问函数构造函数中的“this”
- 跨不同作用域访问函数
- 访问函数内部的变量
- jQuery插件+AMD=如何访问函数
- 如何在javascript中访问函数内部的相同变量名
- 可以'无论我做什么,都无法访问函数外的数组
- 如何从module.exports访问函数
- 无法't访问函数中的对象