私は剣道のUIグリッドと親グリッド内にネストされた子グリッドを持っています。子グリッドでポップアップ編集を行い、フィールドの1つとしてドロップダウンリストを選択すると、このドロップダウンから現在編集中の子グリッドのインスタンスにアクセスしたいと思います。剣道のUIアクセス詳細エディタのウィジェットからのグリッドインスタンス
(すべての子グリッドが同じIDを取得するため)子グリッドにidを指定することは明らかに不可能です。私は、最も簡単に行うことができません。
var childGrid = $("#myChildGridCurrentlyEdited").data("kendoGrid");
私は何を取得したいが、それが持っているものの要素をチェックするために、現在編集子グリッドから観察可能な配列です。私は助けていただければ幸いです。ちょうどjsFiddleをここでチェックしてください。細部にIDを設定するには、サイドノートで
edit: function(arg) {
arg.container
.find("[name=ageEdit]").data("kendoDropDownList").bind("select", function(j) {
var detailGrid = arg.sender;
});
:あなたはfind the DropDownListとbind
にそのselect
ハンドラを詳細グリッドのedit
イベントを使用することができます
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?")
}
})
}
ありがとう、私は実際にyesteday朝、素晴らしい答えに似た結論に来ることができました。 – Turo