Kendo UI在编辑器中从小部件访问详细网格实例
Kendo UI access detail grid instance from widget in its editor
我有一个剑道UI网格,和一个嵌套在父网格中的子网格。当我在子网格上进行弹出式编辑并有一个下拉列表选择作为其字段之一时,我想从这个下拉列表中访问当前正在编辑的子网格的实例。
为子网格提供id显然是不可行的(因为所有的子网格都会得到相同的id),所以例如,我不能做最直接的:
var childGrid = $("#myChildGridCurrentlyEdited").data("kendoGrid");
我想要得到的是当前编辑的子网格中的可观察数组,以检查它有哪些元素。我将感谢帮助,只是最好检查jsFiddle在这里,代码启动childGrid和它的编辑器在这里下面只是为了快速查看。
https://jsfiddle.net/Turo/7a0LLrdf/1/function initDetail(e) {
$("<div/>").appendTo(e.detailCell).kendoGrid({
dataSource: [{gender: "male",height: "2m", ageEdit: {Id: 1, Age: 40}},
{gender: "female",height: "1.6m", ageEdit: {Id: 2, Age: 50}}],
columns: [
{field: "gender"},
{ field: "height"},
{field:"ageEdit", template: "#= ageEdit.Age #", editor: editAge},
{command: ["edit"]}],
editable: {mode: "popup"}
})
}
function editAge(container, options){
$('<input required name="ageEdit"/>')
.appendTo(container)
.kendoDropDownList({
dataTextField: "Age",
dataValueField: "Id",
dataSource: [{Id: 1, Age: 20}, {Id: 2, Age: 30}],
select: function(e){
alert("how do I get to the detail grid instance from here?")
}
})
}
您可以使用详细网格的edit
事件来查找下拉列表,bind
的select
处理程序:
edit: function(arg) {
arg.container
.find("[name=ageEdit]").data("kendoDropDownList").bind("select", function(j) {
var detailGrid = arg.sender;
});
另一方面,要将ID设置为详细网格,请使用相应主行的ID值,这在detailInit
事件中可用,例如:
$("<div id='detail-grid-" + e.data.id + "'></div>").appendTo()...
主网格必须具有在dataSource.schema.model.id
中定义的ID字段才能使e.data.id
工作,否则您应该使用ID字段名称而不是id
。
相关文章:
- 有没有一种方法可以从光滑的网格访问插件
- UI网格:如何从自定义函数访问MODEL_COL_FIELD
- 访问所选记录的网格值并使用 javascript 传递到新窗口
- 访问ng网格中的select元素
- ExtJS v3 - 从表单面板内的网格面板访问数据
- 如何在访问子网格视图时获取父网格视图的一个单元格的值
- 访问网格数据存储的加载函数内的sortInfo属性
- 无法访问上传的图像 - 流星网格FS
- Extjs从单元格编辑器访问网格记录
- 如何访问Angular UI网格中已排序的行
- Extjs:访问链接在窗口中的属性网格
- 剑道网格,在dataBound调用中访问原始绑定行
- 如何访问剑道网格's列菜单,并为列标题中的特定列添加筛选选项
- Kendo UI在编辑器中从小部件访问详细网格实例
- 如何从单元格上下文菜单访问(增强的)网格单元格数据
- HTML5可访问性:如何指示网格和列表布局之间的切换
- 带有分页的Dojo增强网格需要访问页面中的行数
- 可访问的web数据网格
- 如何访问网格的过滤大小
- asp.net Kendoui无法从代码访问网格