Model view controller 网格列可见性

Model view controller 网格列可见性,model-view-controller,kendo-grid,visibility,Model View Controller,Kendo Grid,Visibility,我有剑道格网。我需要有条件地在最后一列中显示链接。到目前为止,我还没有找到任何解决办法。在我创建的解决方案中,根本不显示网格元素。 你能帮我找到我错过的东西吗 @(Html.Kendo().Grid<GGISServices.Models.SilviPrioViewModel>() .Name("gridSP_" + plotDescriptionId.ToString()) .EnableCustomBinding(true) .Columns(column

我有剑道格网。我需要有条件地在最后一列中显示链接。到目前为止,我还没有找到任何解决办法。在我创建的解决方案中,根本不显示网格元素。 你能帮我找到我错过的东西吗

@(Html.Kendo().Grid<GGISServices.Models.SilviPrioViewModel>()
    .Name("gridSP_" + plotDescriptionId.ToString())
    .EnableCustomBinding(true)
    .Columns(columns =>
    {
    columns.Bound(c => c.Id).Hidden();
    columns.Bound(c => c.ForestWorkGroup).Title(LanguageService.Instance.Translate("ActGroup")).Filterable(f => f.Multi(true));
    columns.Bound(c => c.Activity).Title(LanguageService.Instance.Translate("BActs")).Filterable(f => f.Multi(true));
    columns.Bound(c => c.WorkCode).Title(LanguageService.Instance.Translate("ActCode")).Filterable(f => f.Multi(true));
    columns.Bound(c => c.MeasurementUnit).Title(LanguageService.Instance.Translate("UM")).Filterable(f => f.Multi(true));
    columns.Bound(c => c.Quantity).Title(LanguageService.Instance.Translate("Bqty")).Format("{0:n2}").Filterable(f => f.Multi(true));
    columns.Bound(c => c.UnitPrice).Title(LanguageService.Instance.Translate("BUnitCost")).Filterable(f => f.Multi(true));
    columns.Bound(c => c.FinishDate).Title(LanguageService.Instance.Translate("FinishDate")).Format("{0:dd/MM/yyyy}").Filterable(f => f.Multi(true));
    columns.Bound(c => c.Remarks).Title(LanguageService.Instance.Translate("BObs")).Filterable(f => f.Multi(true));
    columns.Bound(c => c.ProjectNr).Title(LanguageService.Instance.Translate("ProjectNo")).Filterable(f => f.Multi(true));
    columns.Bound(c => c.WorkStatus).Title(LanguageService.Instance.Translate("Status")).Filterable(f => f.Multi(true));
    columns.Template(c => c.Id).ClientTemplate(
        @Html.ActionLink(Resources.Common.Text_View, "View", "SilviPrio", new { Area = GGISWeb.AreaModules.ManagementPlan, silviPrioId = "#=Id#" }, new { style = (@userCanView == false ? "visibility: hidden;" : "visibility: visible;") }).ToHtmlString() + "<br/>" +
        @Html.ActionLink(Resources.Common.Text_Edit, "Edit", "SilviPrio", new { Area = GGISWeb.AreaModules.ManagementPlan, silviPrioId = "#=Id#", plotDescriptionId = plotDescriptionId }, new { style = (@userCanEdit == false ? "visibility: hidden;" : "visibility: visible;") }).ToHtmlString() + "<br/>" +
        @Html.ActionLink(Resources.Common.Text_Delete, "Delete", "SilviPrio", new { Area = GGISWeb.AreaModules.ManagementPlan, silviPrioId = "#=Id#" },
        new { onclick = "return confirm('" + @Resources.Common.Delete_Confirm + "')", style = (@userCanDelete == false ? "visibility: hidden;" : "visibility: visible;") }).ToHtmlString()
// + "<br/>" + @Html.ActionLink(Resources.Common.PaidWork, "Edit", "PaidWork", new { Area = GGISWeb.AreaModules.SilviPrio, silviPrioId = "#=Id#", plotDescriptionId = plotDescriptionId }, new { style = (@userCanEdit == false ? "visibility: hidden;" : "visibility: visible;") }).ToHtmlString()*@
           + "<br/>" +
            "# if ( WorkStatus == " + GGISData.Enums.SilviPrioStatus.Realized + ") { #" +
                 @Html.ActionLink(Resources.Common.PaidWork, "Edit", "PaidWork") +
               "# } # "        
          ).Title("Action");
    })
@(Html.Kendo().Grid())
.Name(“gridSP_u3;”+plotDescriptionId.ToString())
.EnableCustomBinding(真)
.列(列=>
{
columns.Bound(c=>c.Id).Hidden();
columns.Bound(c=>c.ForestWorkGroup).Title(LanguageService.Instance.Translate(“ActGroup”)).Filterable(f=>f.Multi(true));
columns.Bound(c=>c.Activity).Title(LanguageService.Instance.Translate(“BActs”)).Filterable(f=>f.Multi(true));
columns.Bound(c=>c.WorkCode).Title(LanguageService.Instance.Translate(“ActCode”)).Filterable(f=>f.Multi(true));
columns.Bound(c=>c.MeasurementUnit).Title(LanguageService.Instance.Translate(“UM”)).Filterable(f=>f.Multi(true));
columns.Bound(c=>c.Quantity).Title(LanguageService.Instance.Translate(“Bqty”)).Format(“{0:n2}”).Filterable(f=>f.Multi(true));
columns.Bound(c=>c.UnitPrice).Title(LanguageService.Instance.Translate(“BUnitCost”)).Filterable(f=>f.Multi(true));
columns.Bound(c=>c.FinishDate).Title(LanguageService.Instance.Translate(“FinishDate”)).Format(“{0:dd/MM/yyyyy}”).Filterable(f=>f.Multi(true));
columns.Bound(c=>c.comments).Title(LanguageService.Instance.Translate(“BObs”)).Filterable(f=>f.Multi(true));
columns.Bound(c=>c.ProjectNr).Title(LanguageService.Instance.Translate(“ProjectNo”)).Filterable(f=>f.Multi(true));
columns.Bound(c=>c.WorkStatus).Title(LanguageService.Instance.Translate(“Status”)).Filterable(f=>f.Multi(true));
columns.Template(c=>c.Id).ClientTemplate(
@ActionLink(Resources.Common.Text_View,“View”,“SilviPrio”,new{Area=GGISWeb.AreaModules.ManagementPlan,silviPrioId=“#=Id#”},new{style=(@userCanView==false?“可见性:隐藏;”:“可见性:可见;”)}。ToHtmlString()+“
”+ @Html.ActionLink(Resources.Common.Text_Edit,“Edit”,“SilviPrio”,new{Area=GGISWeb.AreaModules.ManagementPlan,silviPrioId=“#=Id#”,plotDescriptionId=plotDescriptionId},new{style=(@userCanEdit==false?“可见性:隐藏;”:“可见性:可见;”)})。ToHtmlString()+“
”+ @ActionLink(Resources.Common.Text_Delete,“Delete”,“SilviPrio”,new{Area=GGISWeb.AreaModules.ManagementPlan,silviPrioId=“#=Id#”}, 新的{onclick=“return confirm”(“+@Resources.Common.Delete_confirm+”)”,style=(@userCanDelete==false?“可见性:隐藏;”:“可见性:可见;”)}) //+“
”+@Html.ActionLink(Resources.Common.PaidWork,“Edit”,“PaidWork”,new{Area=GGISWeb.AreaModules.SilviPrio,silviPrioId=“#=Id#”,plotDescriptionId=plotDescriptionId},new{style=(@userCanEdit==false?“可见性:隐藏;”:“可见性:可见;”)})*@ +“
”+ “#如果(WorkStatus==”+GGISData.Enums.SilviPrioStatus.Realized+”{#”+ @ActionLink(Resources.Common.PaidWork,“编辑”,“PaidWork”)+ "# } # " ).所有权(“诉讼”); })
PaidWork链接应基于工作状态显示。
谢谢!

对于执行某些操作的按钮,我经常使用客户机模板。因为大多数时候我不使用Razor,所以我在阅读您的客户机模板时遇到一些困难。不过,我给出了一个我使用条件逻辑的客户机模板作为指导

columns.Template(t => { }).Width(100)
   .ClientTemplate("<div class='fontIcon'>" +
                      "#if (AccessControlRow.Approve) {#<div>" +
                                 "<a class='athena-view' data-placement='bottom' data-toggle='tooltip' onclick='procurement.getOrder.insertOperationComments(\"Approve\",\"#= data.Id #\", true)' title='" + Html.GetResource(common, "Approval") + "'><i class='fa fa-check fa-grid-default'></i></a>" +
                              "</div>" +
                              "<div>" +
                                 "<a class='athena-view' data-placement='bottom' data-toggle='tooltip' onclick='procurement.getOrder.insertOperationComments(\"Reject\", \"#= data.Id #\", true)' title='" + Html.GetResource(common, "Rejection") + "'><i class='fa fa-ban fa-grid-default'></i></a>" +
                           "</div>#}#" +
                      "#if (AccessControlRow.Return) {#<div>" +
                                 "<a class='athena-view' data-placement='bottom' data-toggle='tooltip' onclick='procurement.getOrder.insertOperationComments(\"Return\", \"#= data.Id #\", true)' title='" + Html.GetResource(common, "Return") + "'><i class='fa fa-long-arrow-left fa-grid-default'></i></a>" +
                              "</div>#}#" +
                   "</div>").Hidden(!Model.MasterAccessControlRow.Approve); // Here I use some ViewModel value to show or hide the entire column
columns.Template(t=>{}).Width(100)
.ClientTemplate(“”)+
“#如果(AccessControlRow.Approve){#”+
"" +
"" +
"" +
"" +
"#}#" +
“#if(AccessControlRow.Return){#”+
"" +
"#}#" +
“”).隐藏(!Model.MasterAccessControlRow.Approve);//这里我使用一些ViewModel值来显示或隐藏整个列
如果您有任何不理解或无法使用此代码的地方,请毫不犹豫地发表评论