【问题标题】:Can we have a grid inside Telerik Modal Window?我们可以在 Telerik 模态窗口中有一个网格吗?
【发布时间】:2012-01-16 10:33:39
【问题描述】:

我正在使用 ASP.NET MVC 架构。我在单击按钮时有一个 Telerik 窗口,效果很好。代码如下-

    <% Html.Telerik().Window()
           .Name("Search")
           .Visible(false)
           .Title("Select Users")
           .Content(() => {%>                                           
    <% using (Html.BeginForm("GetUsers", "Administration", FormMethod.Post, 
        new{id ="users-form"}))
    {%>

    <p class="note">Mention the Users name to display information</p>                                                 
    <label for="username">Name:</label>                                                        
    <%= Html.TextBox("username") %>                           
    <div class="form-actions">
    <button type="button" class="bUsername">Search</button>
    </div>  
    <% } %>                                           
    <%})
    .Width(400)                                            
    .Modal(true)                                            
    .Render();%>

但是当我尝试在 Telerik 窗口的内容中添加 Telerik 网格时,它给了我错误..代码如下

    <%= Html.Telerik().Grid(Model)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(o => o.OrderID).Width(100);
        columns.Bound(o => o.ContactName).Width(200);
        columns.Bound(o => o.ShipAddress);
        columns.Bound(o => o.OrderDate).Format("{0:MM/dd/yyyy}").Width(120);
    })
    .DataBinding(dataBinding => 
    {
        dataBinding.Server().Select("FirstLook", "Grid", new { ajax =
            ViewData["ajax"] });
        dataBinding.Ajax().Select("_FirstLook",
            "Grid").Enabled((bool)ViewData["ajax"]);
    })
    .Scrollable(scrolling => scrolling.Enabled((bool)ViewData["scrolling"]))
    .Sortable(sorting => sorting.Enabled((bool)ViewData["sorting"]))
    .Pageable(paging => paging.Enabled((bool)ViewData["paging"]))
    .Filterable(filtering => filtering.Enabled((bool)ViewData["filtering"]))
    .Groupable(grouping => grouping.Enabled((bool)ViewData["grouping"]))
    .Footer((bool)ViewData["showFooter"])
     %>

错误:.Content(() => {%> ----Delegate System.Func 不接受 0 个参数。

所以想问一下,我们能否在模态窗口中设置网格,如果可以,那么如何实现它,如果不能,还有什么替代方法?

【问题讨论】:

    标签: c# asp.net-mvc telerik telerik-grid telerik-window


    【解决方案1】:

    在窗口中显示网格应该没有任何问题。以下代码使用了 Northwind 数据库中的 Customer 实体,对我来说效果很好:

            <% Html.Telerik().Window()
           .Name("TelerikWindow")
           .Title("Grid in Window")
           .Draggable(true)
           .Modal(true)
           .Content(() =>
           { %>
        <%= Html.Telerik().Grid(Model)
                .Name("TelerikGrid")
                .Columns(columns =>
                {
                    columns.Bound(c => c.CustomerID);
                    columns.Bound(c => c.CompanyName);
                    columns.Bound(c => c.ContactName);
                    columns.Bound(c => c.Address);
                    columns.Bound(c => c.City);
                })
                .Pageable(pageSettings => pageSettings.Enabled(true).PageSize(10))
        %>
        <%})
           .Render();
        %>
    

    我会仔细检查您的代码,以确保您正确设置了 Window 的内容,因为这似乎是问题所在。

    【讨论】:

      【解决方案2】:

      您可以使用委托方法或直接输出在Window内部定义Grid:

      MVC 2:

      <% Html.Telerik().Window()
          ...
          .Content(() =>
          {%>
              <%= Html.Telerik().Grid(***)
                  ...
              %>
          <%})
          .Render();
      %>
      

      MVC 3 剃刀:

      @(Html.Telerik().Window()
          ...
          .Content(
              @<text>
                  @(Html.Telerik().Grid<***>()
                      ...
                  )
              </text>
          )
      )
      

      另请参阅:

      Grid inside Window - Forum

      Using with the Razor View Engine - Help

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-17
        • 1970-01-01
        • 2021-09-10
        • 2013-03-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多