我正在使用kendo ui网格细节模板。在网格中我有一个下拉列表,其中包含一些值,如下拉列表,文本框等。如果我添加新记录,那么我不想显示展开/折叠图标。选择下拉列表后,所选值将下拉,只有我想显示展开/折叠图标。我怎么能用kendo ui做到这一点。希望你理解我的问题。 我试图像这样
在dataBound事件中访问它 dataBound: function (e) {
var dataSource = this.dataSource;
this.element.find('tr.k-master-row').each(function() {
this.tbody.find("tr.k-master-row>.k-hierarchy-cell>a").hide();
});
}
答案 0 :(得分:3)
试试这个:
function dataBound() {
var grid = this;
//expand all detail rows
grid.tbody.find("tr.k-master-row").each(function () {
grid.expandRow($(this));
})
//remove hierarchy cells and column
$(".k-hierarchy-cell").remove();
$(".k-hierarchy-col").remove();
}
希望这会有所帮助......
答案 1 :(得分:1)
另一种选择是将Width()
设置为隐藏。
function dataBound() {
$(".k-hierarchy-cell", "#gridName").width(0.1);
$(".k-hierarchy-col", "#gridName").width(0.1);
}
答案 2 :(得分:0)
如果您使用Kendo的MVC助手,那么这样做会更容易:
$(".k-hierarchy-cell").hide();
$(".k-hierarchy-col").remove();
它会隐藏第一个默认列(带图标),但同时会将其他列保持在正确的位置。
答案 3 :(得分:-1)
答案 4 :(得分:-1)
要有条件地显示网格行详细信息箭头,请将数据绑定事件添加到具有详细信息模板的网格中。在数据绑定事件中,调用此函数:
dataBound: function (e) { // on data bound
var items = e.sender.items(); // find all rows
items.each(function() { // for each row
var row = $(this); //
var dataItem = e.sender.dataItem(row); // get the data item of the row
if (!dataItem.HasChildren) { // check for children
row.find(".k-hierarchy-cell").html(""); // if no children, hide arrow
}
});
}