我有一个Telerik MVC2 Grid,它有一个像:
这样的列columns.Bound(c => c.CustomerID)
.Format(Html.ActionLink("Close", "CloseCustomer", new { Id = "{0}"}).ToString())
.Encoded(false)
.Title(String.Empty)
.Width(80);
正在使用的对象还包括一个已关闭的标志,如果客户已经关闭(我们使用的对象也有一个ClosedFlag和CustomerID),我希望能够使链接不可见。
有一种简单的方法可以做到这一点,还是我必须使用自定义模板?
答案 0 :(得分:0)
您可以定义类似的内容:
<%
Html.Telerik().Grid(Model)
.Columns(columns =>
{
columns.Template(m =>
{
if (!m.Closed)
{
%>
<a id='closed'>You hyperlink here</a>
<%
}
})
//blah blah and the rest of the column defiitions
答案 1 :(得分:0)
我之前在我的一个项目中做过这个。请看一下。我正在使用Ajax.ActionLink,我们通常使用
<% Html.Telerik().Grid<TMG.Framework.Web.MVC.Models.EnrolRegAcntDescriptor>()
.HtmlAttributes("style")
.Name("Grid")
.DataKeys(datakeys => datakeys.Add(m => m.enrollment_account_id))
.Columns(columns =>
{
columns.Bound(m => m.NPI).Width(70);
columns.Bound(m => m.PIN).Title("Legacy PIN").Width(70);
// columns.Bound(m => m.EnrolRegAcntDescriptor.bank_account_no).Title("Account No.");
columns.Bound(m => m.aba_routing_no).Title("ABA Routing");
columns.Bound(m => m.financial_inst).Title("Financial Inst").Width(50);
columns.Bound(m => m.Name).Title("Authorized User").Width(90);
columns.Bound(m => m.status).Title("Status").Width(80);
columns.Bound(m => m.EnrollmentAuthorityID).Title("");
columns.Bound(m => m.ProviderApplicantID).Title("");
columns.Bound(m => m.enrol_status_id).Title("");
columns.Template(m => m.status)
.ClientTemplate(
Ajax.ActionLink("Delete ", "DeleteEnrolAccountByID",
new
{
ProviderApplicantID = "<#=ProviderApplicantID#>",
enrol_status_id = "<#=enrol_status_id #>",
EnrollmentAuthorityID = "<#=EnrollmentAuthorityID#>",
enrollment_account_id = "<#=enrollment_account_id#>" },
new AjaxOptions { UpdateTargetId = "EnrolRegisterComplete", HttpMethod = "Delete" },
new
{
name = "deleteStatus",
status = "<#=status#>",
enrollment_account_id = "<#=enrollment_account_id#>",
EnrollAuthorityID = "<#=EnrollmentAuthorityID#>",
ProviderApplicantID = "<#=ProviderApplicantID#>",
enrol_status_id = "<#=enrol_status_id #>",
// onclick = "return confirm('Are you sure you want to delete this User?');"
}).ToHtmlString());
}).ClientEvents(ev => {ev.OnDataBound("onGridBound"); })
.DataBinding(dataBinding => dataBinding.Ajax().Select("ajaxIndex", "EnrolRegister"))
.Footer(true).Sortable()
.Scrollable()
.Pageable(pager=> pager.PageSize(10))
.Render(); %>
<script type="text/javascript" >
function onGridBound(e) {
$("a[name='deleteStatus']").each(function (e) {
if ($(this).attr("status") != 'Enrolled') {
$(this).hide();
} //, "disabled");
});
}
</script>