网格弹出窗口中的DropdownList KendoUI不显示数据

时间:2013-07-09 19:16:00

标签: drop-down-menu kendo-ui

我有一个DropdownList控件的问题。 我有一个带有弹出式edditing的网格,当我显示一个弹出窗口DropDownList没有显示任何数据时,即时通讯使用MVC4和KendoUI控件

这是代码。

网格。

@(Html.Kendo().Grid<CashControl.Models.Usuario>()
                    .Name("grid")
                    .Columns(columns =>
                    {
                        columns.Bound(p => p.nombre).Width(100);
                        columns.Bound(p => p.nombreUsuario).Width(100);
                        columns.Bound(p => p.email).Width(100);
                        columns.Command(command => { command.Edit(); command.Destroy(); }).Width(160);
                    })
                    .ToolBar(toolbar => toolbar.Create())
                    .Editable(editable => editable.Mode(GridEditMode.PopUp).TemplateName("DropDownListUsuarios"))
                    .Pageable()
                    .Sortable()
                    .Scrollable()
                    .HtmlAttributes(new { style = "height:430px;" })
                    .DataSource(dataSource => dataSource
                        .Ajax()
                        .PageSize(20)
                        .Events(events => events.Error("error_handler"))
                        .Model(model => 
                            {
                                model.Id(p => p.idUsuario);
                            })
                        .Create(update => update.Action("EditingInline_Create", "Grid"))
                        .Read(read => read.Action("UsuariosRead", "Configuracion"))
                        .Update(update => update.Action("EditingInline_Update", "Grid"))
                        .Destroy(update => update.Action("EditingInline_Destroy", "Grid"))
                    )
                )

PopUp

<div class="demo-section" style="width: 250px;">
    <h2>Products</h2>
    @(Html.Kendo().DropDownList()
          .Name("products")
          .HtmlAttributes(new { style = "width: 250px" })
          .DataTextField("nombre")
          .DataValueField("idnombre")
          .DataSource(source => {
              source.Read(read =>
              {
                  read.Action("UsuarioRead", "Configuracion");
              }); 
          })
    )
</div>
<style scoped>
    .demo-section {
        width: 250px;
        margin: 35px auto 50px;
        padding: 30px;
    }
    .demo-section h2 {
        text-transform: uppercase;
        font-size: 1.2em;
        margin-bottom: 10px;
    }
</style>

和控制器。

public ActionResult UsuarioRead([DataSourceRequest] DataSourceRequest request)
        {
            IQueryable<Usuario> products = CashControl.Usuario;
            var rest = products.Select(n => new
            {
                idUsuario = n.idUsuario,
                nombre = n.nombre,
                nombreUsuario = n.nombreUsuario,
                email = n.email
            });

            DataSourceResult result = rest.ToDataSourceResult(request);

            return Json(result, JsonRequestBehavior.AllowGet);
        }

这是JSON结果

{"Data":[{"idUsuario":1,"nombre":"Eduardo","nombreUsuario":"Brakyo","email":"eduardomeji@gmail.com"}],"Total":1,"AggregateResults":null,"Errors":null}

我希望有人能帮忙。 坦克:D

1 个答案:

答案 0 :(得分:0)

请尝试使用以下代码段。

下面的代码将帮助您在DropDownList中绑定您的数据,但它不适用于Kendoui Grid。意味着您已为Grid和DropDownList创建了两个单独的方法。

<强>控制器

    public ActionResult UsuarioRead()
    {
        IQueryable<Usuario> products = CashControl.Usuario;
        var rest = products.Select(n => new
        {
            idUsuario = n.idUsuario,
            nombre = n.nombre,
            nombreUsuario = n.nombreUsuario,
            email = n.email
        });

        return Json(products, JsonRequestBehavior.AllowGet);
    }