禁用调整一列剑道网格的大小
Posted
技术标签:
【中文标题】禁用调整一列剑道网格的大小【英文标题】:Disable resize for one column kendo grid 【发布时间】:2015-07-16 04:53:27 【问题描述】:我只需要在剑道网格中仅禁用一列的大小调整。 我见过columnresize 事件,但我不明白如何在下面的网格示例中使用它。
我注意到有一个类似的question
我的网格-
@(html.Kendo().Grid<CCCAdmin.ViewModels.AdminReportViewModel>().Name("AdminReportGrid")
.HtmlAttributes(new @class = "table table-bordered")
.Columns(columns =>
columns.Bound(l => l.Id).Width("11%").Title("Id");
columns.Bound(l => l.CustomerName).Width("30%");
).Resizable(r => r.Columns(true))
.Excel(excel => excel
.FileName("Admin Report Export.xlsx")
.Filterable(true)
.ProxyURL(Url.Action("Excel_Export_Save", "AdminReport")))
.DataSource(dataSource => dataSource
.Ajax().Read(read => read.Action("AdminReport_Read", "AdminReport"))
.Destroy(update => update.Action("AdminReportDestroy", "AdminReport"))
.Sort(sort => sort.Add("CallCounting").Descending())
.PageSize(20)
.Model(model =>
model.Id(a => a.Id);
)
)
.Events(events =>
events.DataBound("dataBound");
events.ExcelExport("onExcelExport");
)
.ClientDetailTemplateId("CustomerInvoices")
.Sortable()
.Filterable()
)
【问题讨论】:
我想从客户 ID 列而不是整个网格中删除可调整性。 docs.telerik.com/kendo-ui/controls/data-management/grid/how-to/… 【参考方案1】:Kendo ASP.NET MVC 中没有开箱即用的功能,但您可以使用 javascript 完成任务。在下面的示例中,列Id
不会调整大小。
var grid = $("#GridName").data("kendoGrid");
grid.resizable.bind("start", function (e)
if ($(e.currentTarget).data("th").data("field") == "Id")
e.preventDefault();
setTimeout(function ()
grid.wrapper.removeClass("k-grid-column-resizing");
$(document.body).add(".k-grid th").css("cursor", "");
);
);
演示
$(function()
$("#grid").kendoGrid(
dataSource:
data: [
Id: "1", FirstName: "Amar",LastName: "X",
Id: "2", FirstName: "Akbar",LastName: "Y",
Id: "3", FirstName: "Anthony",LastName: "Z"
]
,
resizable: true
);
var grid = $("#grid").data("kendoGrid");
grid.resizable.bind("start", function(e)
if ($(e.currentTarget).data("th").data("field") == "Id")
e.preventDefault();
setTimeout(function()
grid.wrapper.removeClass("k-grid-column-resizing");
$(document.body).add(".k-grid th").css("cursor", "");
);
);
);
<head>
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.2.516/styles/kendo.common.min.css"/>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.2.516/styles/kendo.rtl.min.css"/>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.2.516/styles/kendo.silver.min.css"/>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2018.2.516/styles/kendo.mobile.all.min.css"/>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2018.2.516/js/kendo.all.min.js"></script>
</head>
<body>
<p>The <strong>Id</strong> column cannot be resized:</p>
<div id="grid"></div>
</body>
【讨论】:
以上是关于禁用调整一列剑道网格的大小的主要内容,如果未能解决你的问题,请参考以下文章