Как сделать полосу прокрутки автоматически включенной или отключенной в сетке кендо?

Это мой код для создания сетки:

@{
    if (Model.GenericEntityList.Count > 0)
    {
        @(Html.Kendo().Grid(Model.GenericEntityList).Name(screenNames.ToString()).Columns(
              columns =>
                  {
                      columns.Bound(a => a.ID).Title("<input id='checkAll' type='checkbox' />").ClientTemplate("<input type='checkbox' id=#=genericCheckbox(ID,ViewFlag)#").Width(7);
                      columns.Bound(a => a.Name).Title(screen.ToString() + " Name").Width(93);
                  }
              ).Selectable().Scrollable().DataSource(
                  datasource =>
                  datasource.Ajax().Read(read => read.Action("CompSetHide", "Compset"))
              ).Events(a => a.Change("rowclick")
              )
              .HtmlAttributes(new {style = "height: 185px;"}) 
              )
    }
}

Как отключить и включить вертикальную полосу прокрутки, которая появляется внутри сетки кендо автоматически?

5 ответов


вы можете использовать что-то вроде этого, чтобы показать вертикальную полосу прокрутки:

$("#grid .k-grid-content").css({
    "overflow-y": "scroll"
});

и это, чтобы скрыть его:

$("#grid .k-grid-content").css({
    "overflow-y": "hidden"
});

здесь grid - это идентификатор элемента сетки.


вы можете добавить .Прокручиваемый(scrollable => прокручиваемый.Virtual (true))

@{
if (Model.GenericEntityList.Count > 0)
{
    @(Html.Kendo().Grid(Model.GenericEntityList).Name(screenNames.ToString()).Columns(
          columns =>
              {
                  columns.Bound(a => a.ID).Title("<input id='checkAll' type='checkbox' />").ClientTemplate("<input type='checkbox' id=#=genericCheckbox(ID,ViewFlag)#").Width(7);
                  columns.Bound(a => a.Name).Title(screen.ToString() + " Name").Width(93);
              }
          )
.Selectable()
.Scrollable(scrollable => scrollable.Virtual(true))
.DataSource(
              datasource =>
              datasource.Ajax().Read(read => read.Action("CompSetHide", "Compset"))
          ).Events(a => a.Change("rowclick")
          )
          .HtmlAttributes(new {style = "height: 185px;"}) 
          )
}
}

использовать k-scrollable атрибут

<kendo-grid k-scrollable="false" ... />

ниже CSS должен исправить проблему и удалить вертикальную прокрутку, как описано в http://docs.telerik.com/kendo-ui/controls/data-management/grid/appearance#scrolling.

#GridID .k-grid-header
{
   padding: 0 !important;
}

#GridID .k-grid-content
{
   overflow-y: visible;
}

Если вы используете сетку кендо с вложенной сеткой кендо в каждой строке и прокруткой виртуальной.(используя угловые 5) случай 1: после разворачивания и прокрутки пропустить последний отсчет.

sol: используйте [detailRowHeight] = " 36 " в родительской сетке