0

こんにちは、誰でも私を助けてくれますか?私のコードに苦労しています。グリッドにドロップダウンを追加する方法を2日間試していますコードを修正しようとしていますが、ドロップボックスがグリッドに表示されない理由を見つけることができません私のコードは

<%: Html.Kendo().Grid<KendoGridAjaxEditing2.Models.ProductViewModel>()
    .Name("grid")
          .Columns(columns =>
          {
              columns.Bound(product => product.CustomerID).Width(100);
              columns.Bound(product => product.CustomerName).ClientTemplate("#=Category.CustomerFName#").Width(160);
              columns.Bound(product => product.CustomerLastName);
              columns.Bound(product => product.Customerage).Width(250);


              columns.Command(commands =>
              {
                  commands.Edit(); // The "edit" command will edit and update data items
                  commands.Destroy(); // The "destroy" command removes data items
              }).Title("Commands").Width(200);
          })
          .ToolBar(toolbar => toolbar.Create()) // The "create" command adds new data items
          .Editable(editable => editable.Mode(GridEditMode.InLine)) // Use inline editing mode
          .DataSource(dataSource =>
              dataSource.Ajax()
                .Model(model =>
                {
                    model.Id(product => product.CustomerID); // Specify the property which is the unique identifier of the model
                    model.Field(product => product.CustomerID).Editable(false); // Make the ProductID property not editable
                    model.Field(p => p.Category).DefaultValue(
                          ViewData["defaultCategory"] as KendoGridAjaxEditing2.Models.ClientCategoryViewModel);

                })
                .Create(create => create.Action("Products_Create", "Home")) // Action invoked when the user saves a new data item
                .Read(read => read.Action("Products_Read", "Home"))  // Action invoked when the grid needs data
                .Update(update => update.Action("Products_Update", "Home"))  // Action invoked when the user saves an updated data item
                .Destroy(destroy => destroy.Action("Products_Destroy", "Home")) // Action invoked when the user removes a data item
          )
          .Pageable()
%>

および HomeController メソッド

 private void PopulateCategories()
    {
        var dataContext = new NorthwindEntities();
        var categories = dataContext.Customer_details
                    .Select(c => new ClientCategoryViewModel
                    {
                         ID = c.ID,
                         CustomerFName = c.name
                    })
                    .OrderBy(e => e.CustomerFName);
        ViewData["categories"] = categories;
        ViewData["defaultCategory"] = categories.First();
    }

   public ActionResult Index()
    {
        ViewBag.Message = "Welcome to ASP.NET MVC!";
       PopulateCategories();
        return View();
    }

と私の ClientCategoryViewModel クラス

 public class ClientCategoryViewModel
{

    public int ID { get; set; }
    public string CustomerFName { get; set; }
}

私がしようとしているとき .ClientTemplate("#=Category.CustomerFName#").Width(160); 私の見解では結果が得られませんが、グリッドを削除するとレコードが表示されますが、グリッド内でドロップダウンが表示されない理由を理解できず、過去2〜3日間試していますが、できませんこのリンクをガイドとして見ようとした解決策を見つけてくださいhttp://demos.kendoui.c​​om/web/grid/ editing.htmlしかし問題はまだあります 誰か助けてくださいありがとう

4

2 に答える 2

0

ClientTemplate は表示モード用です。編集モードの場合は、DropDownList エディターを作成する必要があります。詳細については、次のトピックを確認してください。そこからの指示に従えば、うまくいくはずです。

于 2013-11-08T16:19:12.457 に答える