【发布时间】:2014-09-16 12:03:28
【问题描述】:
我正在使用 Kendo UI 中的 Grid 来显示一堆数据,现在我想添加 InCell 编辑。
由于 JavaScript 不是我的强项,我无法解决以下问题:
网格定义为:
.Editable(e => e.Mode(GridEditMode.InCell))
.Selectable(e => e.Mode(GridSelectionMode.Single).Type(GridSelectionType.Cell))
.Events(events => events.Save("subfileSaved")
将数据源的批处理模式设置为 false。
现在在我的subfileSaved(e) 函数中,我在e.values 中获得了更改后的值。根据 Firebug,e.values 的值为Object { Fields[2].Content="11CLS1511"}。
问题:我怎样才能最好地从Fields[2].Content 中提取2 以及获取11CLS1511?
编辑: e.values.Fields[2].Content 不起作用,请参阅
【问题讨论】:
-
从
Fields[2].Content中提取2是什么意思?我怀疑Fields是一个数组,其中2是索引,Content是该索引中对象的属性。 -
@NaveenBhat 我试过
var tmp = e.values.Fields[2].Content,但后来我得到了TypeError: e.values.Fields is undefined。 (而且我事先也不知道我的函数是否会得到 2、5 或任何低于 20 的数字)。也许这只是我这边的一个简单错误,这将导致额头拍打;-) -
在
firebug或任何其他控制台中,如果您能够看到Object { Fields[2].Content="11CLS1511"}对应e.values,那么您将不会收到此错误。为了更安全,你可以这样写 -var tmp = e.values.Fields ? e.values.Fields[2] ? e.values.Fields[2].Content : null : null -
@NaveenBhat 那么我做错了什么?请参阅link 的屏幕截图。
-
我觉得很奇怪。请使用此屏幕截图更新您的问题。
标签: javascript asp.net-mvc kendo-grid