gpt4 book ai didi

javascript - 从 Kendo 中的 columns.filterable.cell.template 函数访问列字段名称

转载 作者:行者123 更新时间:2023-12-03 07:14:09 26 4
gpt4 key购买 nike

因为我在整个网络应用程序中使用了大量的剑道网格,所以我开始引入一些冗余代码,这给我带来了很多麻烦。想象一下有这样的东西:

//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
});
}

然后,为每个网格中的每个单列重现此方法。有什么方法可以让我只有一种方法来创建剑道自动完成吗?例如:

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") 例如。

关于javascript - 从 Kendo 中的 columns.filterable.cell.template 函数访问列字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36495655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com