Javascript 向剑道网格添加复选框列
我有一个剑道网格,它最初有一组列,我正在尝试向其中添加两个复选框列Javascript 向剑道网格添加复选框列,javascript,html,asp.net-mvc,kendo-ui,kendo-grid,Javascript,Html,Asp.net Mvc,Kendo Ui,Kendo Grid,我有一个剑道网格,它最初有一组列,我正在尝试向其中添加两个复选框列 <script id="sectionPage" type="text/kendo-tmpl"> @(Html.Kendo().Grid<SectionPageModel>() .Name("grid_#=SectionID#") .HtmlAttributes(new { @class = "detail-grid" })
<script id="sectionPage" type="text/kendo-tmpl">
@(Html.Kendo().Grid<SectionPageModel>()
.Name("grid_#=SectionID#")
.HtmlAttributes(new { @class = "detail-grid" })
.Columns(columns =>
{
columns.Select().Width(60);
columns.Bound(o => o.SectionPageID).Hidden(true);
columns.Bound(o => o.SectionID).Hidden(true);
columns.Bound(o => o.PageID).Hidden(true);
columns.Bound(o => o.PageCD).EditorTemplateName("PageCDDropDown").Title("Page").Width(225);
columns.Bound(o => o.PageTitle).Hidden(true);
columns.Bound(o => o.PageTitleOverride).Width(300);
columns.Bound(o => o.AccountID).Hidden(true);
columns.Bound(o => o.AccountCD).EditorTemplateName("AccountCDAutoComplete").Width(120).Title("Account");
columns.Bound(o => o.EffectiveDate).Format("{0:MM/dd/yyyy}").Width(60).Hidden(true);
columns.Bound(o => o.EndDate).Format("{0:MM/dd/yyyy}").Width(60).Hidden(true);
columns.Bound(o => o.SPSortOrder).ClientTemplate("<span class='spSortSpan'>\\#if(SPSortOrder != null) {\\# \\#=SPSortOrder\\# \\#} else {\\# \\#=0\\# \\#}\\#</span>").Title("Sort Order");
columns.Bound(o => o.AddedBy);
columns.Bound(o => o.AddedOn).Format("{0:MM/dd/yyyy}");
columns.Bound(o => o.UpdatedBy);
columns.Bound(o => o.UpdatedOn).Format("{0:MM/dd/yyyy}");
columns.Bound(o => o.FirstRun).ClientTemplate("<input id='FirstRun' name='FirstRun' class='chkbx' type='checkbox' #= FirstRun ? checked='checked' : '' #/>").Title("First Run").Width(110);
columns.Bound(o => o.SecondRun).ClientTemplate("<input id='SecondRun' name='SecondRun' type='checkbox' #= SecondRun ? checked='checked' : '' # class='chkbx'/>").Title("Second Run").Width(110);
})
.ToolBar(toolbar =>
{
toolbar.Create().Text("Add Page");
toolbar.Save().SaveText("Save Pages");
})
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Events(e => e.DataBound("detailGrid_onDataBound"))
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(f => f.SectionPageID);
model.Field(f => f.PageTitle).Editable(false);
model.Field(f => f.AddedOn).Editable(false);
model.Field(f => f.AddedBy).Editable(false);
model.Field(f => f.UpdatedOn).Editable(false);
model.Field(f => f.UpdatedBy).Editable(false);
}
)
.ServerOperation(false)
.Read(read => read.Action("SectionPage", "Document", new { sectionID = "#=SectionID#" }))
.Create(create => create.Action("SectionPage_Create", "Document").Data("detailGrid_onAdditionalData"))
.Update(update => update.Action("SectionPage_Create", "Document"))
.Destroy(delete => delete.Action("SectionPage_Delete", "Document"))
)
.Scrollable()
.Sortable()
.Events(e => e.SaveChanges("detailGrid_onSaveChanges"))
.ToClientTemplate()
)
</script>
@(Html.Kendo().Grid())
.Name(“grid#=SectionID#”)
.HtmlAttributes(新的{@class=“detail grid”})
.列(列=>
{
columns.Select().宽度(60);
columns.Bound(o=>o.SectionPageID).Hidden(true);
columns.Bound(o=>o.SectionID).Hidden(true);
columns.Bound(o=>o.PageID).Hidden(true);
columns.Bound(o=>o.PageCD).EditorTemplateName(“PageCDDropDown”).Title(“Page”).Width(225);
columns.Bound(o=>o.PageTitle).Hidden(true);
columns.Bound(o=>o.PageTitleOverride).Width(300);
columns.Bound(o=>o.AccountID).Hidden(true);
columns.Bound(o=>o.AccountCD).EditorTemplateName(“AccountCDAutoComplete”).Width(120).Title(“Account”);
columns.Bound(o=>o.EffectiveDate).Format(“{0:MM/dd/yyyy}”).Width(60).Hidden(true);
columns.Bound(o=>o.EndDate).Format(“{0:MM/dd/yyyy}”).Width(60).Hidden(true);
columns.Bound(o=>o.SPSortOrder).ClientTemplate(\\\\\\ if(SPSortOrder!=null){\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
columns.Bound(o=>o.AddedBy);
columns.Bound(o=>o.AddedOn).Format(“{0:MM/dd/yyyy}”);
columns.Bound(o=>o.UpdatedBy);
columns.Bound(o=>o.UpdatedOn).Format(“{0:MM/dd/yyyy}”);
columns.Bound(o=>o.FirstRun.ClientTemplate(“”).Title(“FirstRun”).Width(110);
columns.Bound(o=>o.SecondRun).ClientTemplate(“”).Title(“SecondRun”).Width(110);
})
.ToolBar(ToolBar=>
{
toolbar.Create().Text(“添加页面”);
toolbar.Save().SaveText(“保存页面”);
})
.Editable(Editable=>Editable.Mode(GridEditMode.InCell))
.Events(e=>e.DataBound(“detailGrid\u onDataBound”))
.DataSource(DataSource=>DataSource
.Ajax()
.Model(Model=>
{
model.Id(f=>f.SectionPageID);
model.Field(f=>f.PageTitle).可编辑(false);
model.Field(f=>f.AddedOn).可编辑(false);
model.Field(f=>f.AddedBy).Editable(false);
model.Field(f=>f.UpdatedOn).Editable(false);
model.Field(f=>f.UpdatedBy).Editable(false);
}
)
.ServerOperation(错误)
.Read(Read=>Read.Action(“SectionPage”,“Document”,new{sectionID=“#=sectionID#“}))
.Create(Create=>Create.Action(“SectionPage\u Create”,“Document”).Data(“detailGrid\u onaadditionaldata”))
.Update(Update=>Update.Action(“创建”、“文档”部分页面)
.Destroy(delete=>delete.Action(“SectionPage\u delete”,“Document”))
)
.Scrollable()
.Sortable()
.Events(e=>e.SaveChanges(“detailGrid\u onSaveChanges”))
.ToClient模板()
)
将在以下两行中添加两个复选框:
columns.Bound(o => o.FirstRun).ClientTemplate("<input id='FirstRun' name='FirstRun' class='chkbx' type='checkbox' #= FirstRun ? checked='checked' : '' #/>").Title("First Run").Width(110);
columns.Bound(o => o.SecondRun).ClientTemplate("<input id='SecondRun' name='SecondRun' type='checkbox' #= SecondRun ? checked='checked' : '' # class='chkbx'/>").Title("Second Run").Width(110);
columns.Bound(o=>o.FirstRun.ClientTemplate(“”).Title(“FirstRun”).Width(110);
columns.Bound(o=>o.SecondRun).ClientTemplate(“”).Title(“SecondRun”).Width(110);
如果没有这两条线,栅格将正常渲染,但添加这两条线会导致以下错误:
Invalid template:' <div class="k-widget k-grid detail-grid" id="grid_#=SectionID#"><div class="k-header k-grid-toolbar k-grid-top"><a class="k-button k-button-icontext k-grid-add" href="/Document/SectionPage?sectionID=%23%3DSectionID%23&grid_%23%3DSectionID%23-mode=insert"><span class="k-icon k-i-add">....
无效模板:'。。。。
当我从两个标记(#=FirstRun?checked='checked':“”
和#=SecondRun?checked='checked':“”)中删除三元运算符时,不会引发错误
将两个复选框列添加到此网格的正确方法是什么?尝试在\\
中添加三元操作
columns.Bound(o => o.FirstRun)
.ClientTemplate("<input id='FirstRun' name='FirstRun' class='chkbx' type='checkbox' \\#= FirstRun ? checked='checked' :'' \\# />")
.Title("First Run").Width(110);
columns.Bound(o => o.SecondRun)
.ClientTemplate("<input id='SecondRun' name='SecondRun' type='checkbox' \\#= SecondRun ? checked='checked' :'' \\# class='chkbx'/>")
.Title("Second Run").Width(110);
columns.Bound(o=>o.FirstRun)
.ClientTemplate(“”)
.标题(“首次运行”)。宽度(110);
columns.Bound(o=>o.SecondRun)
.ClientTemplate(“”)
.标题(“第二次运行”)。宽度(110);
尝试在\\
中添加三元操作
columns.Bound(o => o.FirstRun)
.ClientTemplate("<input id='FirstRun' name='FirstRun' class='chkbx' type='checkbox' \\#= FirstRun ? checked='checked' :'' \\# />")
.Title("First Run").Width(110);
columns.Bound(o => o.SecondRun)
.ClientTemplate("<input id='SecondRun' name='SecondRun' type='checkbox' \\#= SecondRun ? checked='checked' :'' \\# class='chkbx'/>")
.Title("Second Run").Width(110);
columns.Bound(o=>o.FirstRun)
.ClientTemplate(“”)
.标题(“首次运行”)。宽度(110);
columns.Bound(o=>o.SecondRun)
.ClientTemplate(“”)
.标题(“第二次运行”)。宽度(110);
事实上,我不得不对此进行一些更改-可能是因为我使用的是剑道MVC 2019.3.1023
这是我的复选框栏
columns.Bound(p => p.Send).Title("Send")
.ClientTemplate("<input class='chkbx' type='checkbox' ${ Send == true ? checked='checked' : ''} />");
事实上,我不得不对这一点做一点改变——可能是因为我使用的是剑道MVC 2019.3.1023
这是我的复选框栏
columns.Bound(p => p.Send).Title("Send")
.ClientTemplate("<input class='chkbx' type='checkbox' ${ Send == true ? checked='checked' : ''} />");