Kendo ui 剑道网格MVC:字符串字段的默认过滤器设置为";等于;
剑道格网有默认过滤器,用于“dt”字段“等于”带日历。对于“name”字段,它的默认过滤器“等于”,但我想将“Contains”移到选项列表的第一位,并将其设为字符串的默认值。如何实施Kendo ui 剑道网格MVC:字符串字段的默认过滤器设置为";等于;,kendo-ui,kendo-grid,kendo-asp.net-mvc,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,剑道格网有默认过滤器,用于“dt”字段“等于”带日历。对于“name”字段,它的默认过滤器“等于”,但我想将“Contains”移到选项列表的第一位,并将其设为字符串的默认值。如何实施 public class MyClass { public DateTime dt { get; set; } public string name { get; set; } } @(Html.Kendo() .Grid<MyClass>() .Name(
public class MyClass
{
public DateTime dt { get; set; }
public string name { get; set; }
}
@(Html.Kendo()
.Grid<MyClass>()
.Name("grid")
.DataSource(data =>
data.Ajax()
.ServerOperation(false)
.Read(read =>
read.Action("MyAction", "MyController"))
)
.Columns(cols =>
{
cols.Bound(x => x.dt).Title("Date").Width(150);
cols.Bound(x => x.name).Title("Name").Width(250);
})
.Filterable()
.Sortable())
公共类MyClass
{
公共日期时间dt{get;set;}
公共字符串名称{get;set;}
}
@(Html.Kendo()
.Grid()
.名称(“网格”)
.DataSource(数据=>
data.Ajax()
.ServerOperation(错误)
.Read(Read=>
read.Action(“MyAction”、“MyController”))
)
.Columns(cols=>
{
cols.Bound(x=>x.dt).标题(“日期”).宽度(150);
cols.Bound(x=>x.name).Title(“name”).Width(250);
})
.可过滤()
.Sortable())
看一下演示。看起来你会按照以下思路做一些事情:
@(Html.Kendo()
.Grid<MyClass>()
.Name("grid")
.DataSource(data =>
data.Ajax()
.ServerOperation(false)
.Read(read =>
read.Action("MyAction", "MyController"))
)
.Columns(cols =>
{
cols.Bound(x => x.dt).Title("Date").Width(150);
cols.Bound(x => x.name).Title("Name").Width(250);
})
.Filterable(filterable => filterable
.Extra(false)
.Operators(ops => ops
.ForString(str => str.Clear()
.Contains("Contains")
.StartsWith("Starts with")
// any other filters you want in there
)))
.Sortable())
@(Html.Kendo()
.Grid()
.名称(“网格”)
.DataSource(数据=>
data.Ajax()
.ServerOperation(错误)
.Read(Read=>
read.Action(“MyAction”、“MyController”))
)
.Columns(cols=>
{
cols.Bound(x=>x.dt).标题(“日期”).宽度(150);
cols.Bound(x=>x.name).Title(“name”).Width(250);
})
.Filterable(Filterable=>Filterable
.额外(错误)
.操作员(ops=>ops
.ForString(str=>str.Clear()
.Contains(“Contains”)
.StartsWith(“以开头”)
//你还需要其他的过滤器吗
)))
.Sortable())
如果我解释正确,那么str.Clear()
会清除现有的过滤器,这样您就可以从中构建自己的过滤器。因此,例如,如果您认为客户端不需要或不希望使用带有过滤器的.EndsWith,您就不会将其包含在此处。请查看演示。看起来你会按照以下思路做一些事情:
@(Html.Kendo()
.Grid<MyClass>()
.Name("grid")
.DataSource(data =>
data.Ajax()
.ServerOperation(false)
.Read(read =>
read.Action("MyAction", "MyController"))
)
.Columns(cols =>
{
cols.Bound(x => x.dt).Title("Date").Width(150);
cols.Bound(x => x.name).Title("Name").Width(250);
})
.Filterable(filterable => filterable
.Extra(false)
.Operators(ops => ops
.ForString(str => str.Clear()
.Contains("Contains")
.StartsWith("Starts with")
// any other filters you want in there
)))
.Sortable())
@(Html.Kendo()
.Grid()
.名称(“网格”)
.DataSource(数据=>
data.Ajax()
.ServerOperation(错误)
.Read(Read=>
read.Action(“MyAction”、“MyController”))
)
.Columns(cols=>
{
cols.Bound(x=>x.dt).标题(“日期”).宽度(150);
cols.Bound(x=>x.name).Title(“name”).Width(250);
})
.Filterable(Filterable=>Filterable
.额外(错误)
.操作员(ops=>ops
.ForString(str=>str.Clear()
.Contains(“Contains”)
.StartsWith(“以开头”)
//你还需要其他的过滤器吗
)))
.Sortable())
如果我解释正确,那么str.Clear()
会清除现有的过滤器,这样您就可以从中构建自己的过滤器。因此,例如,如果您认为客户端不需要或不想要使用.EndsWith
过滤器,您就不会将其包含在此处。如果您有源代码打开剑道解决方案并找到
类名称StringOperators
位于Kendo.Mvc/UI/Grid/Settings
在Operators=newdictionary()中
根据需要更改顺序,重新生成解决方案,然后覆盖项目中生成的文件。如果源代码已打开剑道解决方案并找到
类名称StringOperators
位于Kendo.Mvc/UI/Grid/Settings
在Operators=newdictionary()中
根据需要更改顺序,重新生成解决方案,然后覆盖项目中生成的文件。解决问题时,会引发新问题,也就是说,locale.js文件中指定的本地化将不再应用于相应的字符串。虽然它解决了问题中描述的问题,但它提出了一个新问题,即locale.js文件中指定的本地化将不再应用于相应的字符串。