调整剑道网格列的大小以适合过滤器

时间:2019-01-25 08:05:06

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

我有一个剑道网格,上面有过滤器运算符。问题在于,过滤器超出了网格的范围,并形成了一个视图,使它们看起来像是在列结束处被切除了。这是一张图片:

Grid

代码:

<div id="gridDiv">
@(Html.Kendo().Grid<Website.Models.VisitModel.VisitGridModel>()
        .Name("grid")
        .ToolBar(toolbar =>
        {
            toolbar.Custom().Text("Create").Action("AddPatient", "Patient").HtmlAttributes(new { @class = "k-primary k-button" });
        })
        .Columns(column =>
        {
            column.Bound(c => c.DateS);
            column.Bound(c => c.PreScreening);
            column.Bound(c => c.Screening);
            column.Bound(c => c.ReadyMadeReaders);
            column.Bound(c => c.EyeExam);
            column.Bound(c => c.Glasses);
            column.Bound(c => c.Contacts);
            column.Bound(c => c.RetinalGrading);

        })
        .Events(e =>
        {

        })
        .Sortable()
        .Scrollable()
        .Selectable()
        .Resizable(resize => resize.Columns(true))
        .Reorderable(reorder => reorder.Columns(true))
        .NoRecords("No data")
        //.ClientDetailTemplateId("template")
        .Filterable(ftb => ftb.Mode(GridFilterMode.Row))
        .Filterable(f => f.Operators(o => o.ForString(fs => fs.Clear().Contains("Contains").StartsWith("Start With").EndsWith("End with").IsEqualTo("Is equal to").IsNotEqualTo("Is not equal to"))))
        .Pageable(page => page
        .Refresh(true)
        .ButtonCount(5)
        .PageSizes(new string[] { "5", "10", "20", "100", "All" })
        )
        .DataSource(dataSource => dataSource
        .Ajax()
        .ServerOperation(true)
        .Sort(s =>
        {
            s.Add(a => a.ID).Ascending();
        })
        .Model(model =>
        {
            model.Id(i => i.ID);
        })
        .Read("ReadAllVisits", "EyeTestReport")
        .Events(events => events.Error("Shared.onGridDataSourceError").RequestEnd("Shared.onGridRequestEnd"))
        )
)

如何使列的大小正确?

2 个答案:

答案 0 :(得分:1)

 column.Bound(c => c.DateS).Width(150);
 column.Bound(c => c.PreScreening).Width(150);
 column.Bound(c => c.Screening).Width(150);

尝试将宽度添加到列绑定中,然后看即可解决您的问题...

答案 1 :(得分:0)

我发现您只需在页面自己的样式文件或样式标签中覆盖kendo的样式即可。像这样:

.k-grid-header .k-header:first-child {
border-left-width: 0;
width: 50% !important; 
}

屏幕:

screen