【发布时间】:2019-05-14 15:07:39
【问题描述】:
我的剑道网格有一些列。我正在尝试使用客户端模板有条件地隐藏一个复选框。当我使用客户端模板时,它工作正常。上面的代码在条件为真时隐藏元素。
@(Html.Kendo().Grid<Spectrum.Model.CustomerInterestItem>()
.Name("customerInterestInfoGrid")
.AutoBind(true)
.Columns(columns =>
{
columns.Bound(c => c.ID).Width(200);
columns.Bound(c => c.SubscriptionEndDate).Title("End Date").Format("{0:MMM dd, yyyy}").Width(130);
columns.Bound(c => c.Notes).Width(200);
columns.Template(@<text></text>)
.ClientTemplate("#if (!InterestTypeID == 99) {#"
+"<input name='chkSubscribed' class='subscribedClass' type='checkbox' data-bind='checked: IsSubscribed' #= IsSubscribed ? checked='checked' : '' #/>"
+ "#} #").Width(130).Title("Subscribed");
columns.Command(command => { command.Edit(); command.Destroy(); });
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model => { model.Id(c => c.ID); model.Field(f => f.Notes).Editable(false); model.Field(f => f.IsSubscribed).Editable(false); })
.Read(cfg => cfg.Action("testGridRead", "Customer").Data("customerIDData"))
.Update(cfg => cfg.Action("EditInterestItem", "Customer"))
.Destroy(cfg => cfg.Action("DeleteInterestItem", "Customer"))
.ServerOperation(false)
)
.Pageable(pageable => pageable
.Enabled(true)
.PageSizes(new int[3] { 10, 25, 50 })
.Refresh(true))
.Scrollable()
.Selectable()
.Sortable()
)
以上代码将隐藏复选框。但我的问题是,当我单击更新按钮时,复选框变得可见。我不知道原因。
【问题讨论】:
-
在模板开头添加
# console.log(data) #并检查数据。
标签: asp.net-mvc-4 kendo-ui kendo-grid kendo-asp.net-mvc kendo-ui-mvc