Jquery 如何自定义工具提示,例如在网格中包含一些按钮';剑道UI MVC中的s单元格工具提示?
在单元格的工具提示中,我想添加一些按钮或菜单,例如“打开”按钮。当我将鼠标悬停在单元格上方时,工具提示将显示该按钮。当我单击该按钮时,它将打开一个窗口。剑道网格能做到这一点吗?以下是使用JS的方法;您需要做的就是使用适当的MVC包装器(Jquery 如何自定义工具提示,例如在网格中包含一些按钮';剑道UI MVC中的s单元格工具提示?,jquery,kendo-ui,kendo-grid,kendo-asp.net-mvc,kendo-tooltip,Jquery,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,Kendo Tooltip,在单元格的工具提示中,我想添加一些按钮或菜单,例如“打开”按钮。当我将鼠标悬停在单元格上方时,工具提示将显示该按钮。当我单击该按钮时,它将打开一个窗口。剑道网格能做到这一点吗?以下是使用JS的方法;您需要做的就是使用适当的MVC包装器(Html.Kendo().Grid(),@(Html.Kendo().Tooltip()和Html.Kendo().Window())(但如果要使用jQuery单击事件,可能需要对窗口使用纯JS): 网格: var grid=$(“#grid”).kendoGri
Html.Kendo().Grid()
,@(Html.Kendo().Tooltip()
和Html.Kendo().Window()
)(但如果要使用jQuery单击事件,可能需要对窗口使用纯JS):
网格:
var grid=$(“#grid”).kendoGrid({
数据源:数据源,
栏目:[{
字段:“Id”,
标题:“身份证”,
可过滤:false
}, {
字段:“状态文本”,
标题:“字符串值”
}, {
字段:“工具提示”,
标题:“工具提示栏”,
模板:“#=data.ToolTip”
}]
}).数据(“kendoGrid”);
工具提示:
var currentDataItem;
var toolTip = $('#grid').kendoTooltip({
filter: ".tooltip",
content: function (e) {
var row = $(e.target).closest("tr");
currentDataItem = grid.dataItem(row);
return "<div>Hi, this is a tool tip for id " + currentDataItem.Id + "! <br/> <button class='open'>Open window</button></div>";
}
}).data("kendoTooltip");
var-currentDataItem;
变量工具提示=$(“#网格”).kendoTooltip({
过滤器:“.tooltip”,
内容:职能(e){
var行=$(e.target).最近的(“tr”);
currentDataItem=grid.dataItem(行);
return“嗨,这是id”+currentDataItem.id+“!
打开窗口”的工具提示;
}
}).数据(“kendoTooltip”);
窗口:
$(document).on("click", ".open", function () {
var currentContent = currentDataItem.get("StatusText");
$("<div>Current status: " + currentContent + "</div>").kendoWindow({
modal: true
}).getKendoWindow().center().open();
});
$(文档)。在(“单击”,“打开”,函数(){
var currentContent=currentDataItem.get(“StatusText”);
$(“当前状态:+currentContent+”).kendoWindow({
莫代尔:对
}).getKendoWindow().center().open();
});
()当我单击“打开”按钮时,我可以在窗口中显示行信息吗?窗口在网格的同一行中显示“字符串值”(如“某些文本”)?当然可以;如您所见,我们已经在工具提示的内容方法中访问当前行的模型;您需要做的就是将该模型存储在一个变量中,该变量可由设置窗口的函数访问(在演示中,这必须是全局的);我编辑了答案以反映这一点
$(document).on("click", ".open", function () {
var currentContent = currentDataItem.get("StatusText");
$("<div>Current status: " + currentContent + "</div>").kendoWindow({
modal: true
}).getKendoWindow().center().open();
});