次のようなマスター/子グリッド構造があります。
親グリッド:
@(Html.Kendo().Grid<ElementViewModel>()
.Name("gridEle")
.Columns(cols =>
{
cols.Bound(e => e.EleNum)
})
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetElements", "Rating", pi))
)
.ClientDetailTemplateId("tempSubEle")
)
DetailTemplate としての子グリッド:
<script id="tempSubEle" type="text/kendo-tmpl">
@(Html.Kendo().Grid<SubElementViewModel>()
.Name("gridSubEle_#=EleID#")
.Columns(cols =>
{
cols.Bound(e => e.Rating)
.ClientTemplate("<input type='checkbox' value='1' " +
"#if(Rating==1){#checked='checked'#}# />" );
})
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetSubElementsByElementID", "Rating", new {eID = "#=EleID#" }))
)
.ToClientTemplate()
)
</script>
問題:
ClientTemplate 列に #if{# ... #}# ステートメントがありますが、評価値は現在の子グリッドではなく親グリッドからのものです (親グリッドには「評価」という名前の列もあります)。これは親グリッドからのものです。Rating を子グリッドのみに存在する列、つまり SubEleID に変更すると、ブラウザで SubEleID が見つからないというエラーが表示されます。
質問:
では、Rating が Child Grid 値を取得するための構文は何ですか? 試しに、data.Rating、または $(this).Rating も試してみましたが、どれも機能しませんでした。
アドバイスしてください、ありがとう