0

Telerik MVC 拡張バージョン 2012.1.419.340 を使用しています。グリッドのコマンド列に問題がありました。問題を説明するために、Telerik Web サイトのサンプル コードを使用します。

私は次のようなビューを持っています:

@model IEnumerable<Order>
@(Html.Telerik().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
    columns.Bound(o => o.OrderID).Width(100);
    columns.Bound(o => o.ShipAddress);
    columns.Command(commands => commands
                .Custom("viewDetails")
                .Text("View Details")
                .DataRouteValues(route => route.Add(o => o.OrderID).RouteKey("orderID"))
                .Ajax(true)
                .Action("ViewDetails", "Grid"))
            .HtmlAttributes(new { style = "text-align: center" })
            .Width(150);
})
.ClientEvents(events => events.OnComplete("onComplete"))
.DataBinding(dataBinding => dataBinding.Ajax().Select("_CustomCommand", "Grid"))
.Pageable()
.Sortable()
.Filterable()

)

と私の注文モデルのような

public class Order{
  public int OrderID {get;set;}

  public string ShipAddress {get ; set; }

  public bool CanEdit {get; set;}
}

コマンド列で CanEdit の値に応じて異なるアクションを使用したいと考えています。たとえば、CanEdit が false の場合、アクションを使用して

columns.Command(commands => commands
                .Custom("viewDetails")
                .Text("View Details")
                .DataRouteValues(route => route.Add(o => o.OrderID).RouteKey("orderID"))
                .Ajax(true)
                .Action("ViewDetails", "Grid"))
            .HtmlAttributes(new { style = "text-align: center" })

CanEdit が true の場合、アクションを使用

columns.Command(commands => commands
                .Custom("editDetails")
                .Text("Edit Details")
                .DataRouteValues(route => route.Add(o => o.OrderID).RouteKey("orderID"))
                .Ajax(true)
                .Action("EditDetails", "Grid"))
            .HtmlAttributes(new { style = "text-align: center" })

実装方法を教えてください。

ありがとう

4

1 に答える 1

0

最後に、グリッドのテンプレート列を使用してこの問題を解決しました。コマンド列のテキストをオンデマンドで変更する方法がないことがわかりました。ありがとう

于 2012-07-08T21:46:19.863 に答える