【问题标题】:How to set fixed rows on Kendo UI Grid如何在 Kendo UI Grid 上设置固定行
【发布时间】:2015-09-12 15:53:53
【问题描述】:

我在 ASP.NET 项目上有一个剑道网格,它通过 ajax 从 (MVC) 模型中获取数据。网格是可分页的,控制器将模型数据作为 PagedList 发送。

现在我想让网格成为不可分页的,以便控制器只发送一个 List 而不是 PagedList。问题是我希望网格始终具有固定的行数(比如说 5),这样即使模型中的数据量发生变化,行数也不会改变。将确保如果行数为 5,则控制器发送的对象总数不会超过 5 个。

如何将网格更改为固定行数?这似乎很琐碎,但我确实搜索了很长一段时间的答案,但没有找到任何线索。

.Columns(columns =>
      {
          columns.Bound(u => u.Index)
              .Filterable(false)
            columns.Bound(u => u.Level)
              .Width(60);
            columns.Bound(u => u.Description)
              .Width(120);
            columns.Bound(u => u.DataId)
              .Width(120);
      })
      .Editable(e => e.Mode(GridEditMode.InLine))
      .DataSource(source =>
      {
          source.Ajax()
               .Read(read => read.Action("GetAllLevels", "Level", ViewBag.RouteObjforUnitId).Data("data"))
                      .Model(model =>
                      {
                          model.Field(o => o.Index).Editable(false);
                      })
                      .Model(model => model.Id(o => o.Index));
      })
      .Events(e =>
      {
          e.DetailInit("hideHeaders");
      })
      .Pageable(pageable =>
      {
          pageable.PageSizes(Helper.PageSetting.ToArray());
          pageable.Enabled(true);
      })

【问题讨论】:

  • 看来你只是想设置DataSource的页面大小。对吗?
  • 基本上可以,但并不能解决我所有的问题。

标签: asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc


【解决方案1】:

找到了一个解决方案,只需在控制器端用空对象填充网格就可以了。

【讨论】:

    【解决方案2】:

    在数据源上设置网格的页面大小,如下:

    .DataSource(source => {
        source.Ajax()
            .Read(read => read.Action("GetAllLevels", "Level", ViewBag.RouteObjforUnitId).Data("data"))
            .Model(model =>
            {
                model.Id(o => o.Index))
                model.Field(o => o.Index).Editable(false);
            })
            PageSize(5); 
          })
    

    【讨论】:

    • 它没有帮助,取决于我是否有数据来填充网格行,网格默认为不正确的行数。
    【解决方案3】:

    试试这个,

    .Columns(columns =>
          {
              columns.Bound(u => u.Index)
                  .Filterable(false)
                columns.Bound(u => u.Level)
                  .Width(60);
                columns.Bound(u => u.Description)
                  .Width(120);
                columns.Bound(u => u.DataId)
                  .Width(120);
          })
          .Editable(e => e.Mode(GridEditMode.InLine))
          .DataSource(source =>
          {
              source.Ajax()
                   .Read(read => read.Action("GetAllLevels", "Level", ViewBag.RouteObjforUnitId).Data("data"))
                          .Model(model =>
                          {
                              model.Field(o => o.Index).Editable(false);
                          })
                          .Model(model => model.Id(o => o.Index));
    					   .PageSize(5)
          })
          .Events(e =>
          {
              e.DetailInit("hideHeaders");
          })
         Pageable(pager => pager.PageSizes(new int[] { 25, 50, 100, 200 }))
                    .Sortable()
                    .Scrollable(scrollable => scrollable.Enabled(false))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-03
      • 1970-01-01
      • 2014-02-02
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      相关资源
      最近更新 更多