Person のさまざまな側面を編集するためのネストされた TabStrip を持つ次の Grid があります。フィールドはタブ間で相互に関連しているため、タブを切り替えるときに自動的にリロードする必要があります。これはデフォルトの動作ではありません。
@(Html.Kendo().Grid<PersonModel>()
.Name("PersonGrid")
.ClientDetailTemplateId("PersonTemplate")
Blah…
Blah…
Blah…
)
<script id="PersonTemplate" type="text/x-kendo-template">
@(Html.Kendo().TabStrip()
.Name("TabStrip_#=Id#")
.Items(items => {
items.Add().Text("Contact Information").LoadContentFrom("PersonInfo", "People", new {personId = "#=Id#"}).Selected(true);
items.Add().Text("Incident History").LoadContentFrom("PersonIncidents", "People", new {personId = "#=Id#"});
items.Add().Text("Edit Qualifications").LoadContentFrom("PersonQualifications", "People", new {personId = "#=Id#"});
})
.Events(e => e.Activate("reloadTab"))
.ToClientTemplate()
)
</script>
TabStrip がグリッドにネストされていない場合は、Activate イベントに次のスクリプトを使用します。
<script type="text/javascript">
function reloadTab(e) {
$('#TabStrip').data('kendoTabStrip').reload(e.item);
}
</script>
JavaScript をスクリプト テンプレートにネストしようとしましたが、うまくいきませんでした。
どんな助けでも大歓迎です!