【问题标题】:Kendo Grid: Clear Column Widths剑道网格:清除列宽
【发布时间】:2014-06-10 19:45:47
【问题描述】:

我有一个宽度为 100% 的网格。首次加载网格时,列大小在所有列中相等。 然后,用户可以重新调整列的大小以满足他们的需要。 现在我需要一种方法来将所有列重置为默认值,而无需重新加载页面。

我尝试刷新网格,但在绑定网格后不起作用: .data().kendoGrid.refresh()

【问题讨论】:

  • 是错字吗?你不是说$(element).data('kendoGrid').refresh()吗?
  • 不,我相信两者都应该工作。
  • 似乎数据正在刷新,但不是列宽。
  • 你试过redraw()吗?

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


【解决方案1】:

您可以尝试一个小技巧(这并不完美,并且可能会失败,具体取决于您的自定义网格格式)。诀窍是将宽度设置为相同的量(例如 100 像素)。比如:

网格定义:

var grid = $("#grid").kendoGrid({
    dataSource: ds,
    resizable : true,
    pageable  : true,
    columns   :
    [
        { field: "FirstName", title: "First Name" },
        { field: "LastName", title: "Last Name" },
        { field: "City" }
    ]
}).data("kendoGrid");

调整大小的代码:

$("col", grid.element).css("width", "100px");

另外,你可能有兴趣做:

$("table", grid.element).css("width", "100%");

这会调整“表格”列的大小以使用所有原始空间,否则(只需执行 col 调整大小)您可能最终会得到等间距的列,但不会使用表格的所有原始宽度)。

你可以在这里看到它是如何工作的:http://jsfiddle.net/OnaBai/a9QSr/

【讨论】:

    猜你喜欢
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多