gpt4 book ai didi

javascript - 将鼠标悬停在 Kendo UI Grid 中的每一行的行详细信息显示为弹出窗口/工具提示表单

转载 作者:行者123 更新时间:2023-11-29 17:19:29 25 4
gpt4 key购买 nike

我有一个填充了数据的网格,并且我只想显示 3 或 2 列并隐藏其余列,因为网格变得非常宽。当鼠标悬停在一行上时,我想将该行的所有列显示为弹出/工具提示形式。

请帮我解决这个问题。我搜索了很多,只发现了可编辑的弹出窗口和按钮单击而不是悬停。

function PopulateGrid() {
$("#recentNews").kendoGrid({

columns: [
{ field: 'Date', title: 'Date', width: 80,
template: '#=kendo.toString(toDate(NewsDate), "yyyy/MMM/dd") #'
},
{ field: 'TradeTime', title: 'Time', width: 60,
template: '#=kendo.toString(toDate(NewsTime), "hh:mm:ss") #'
},

{ field: 'Title', title: 'Description', width: 200 },
{ field: 'Country', title: 'Country', width: 40 },
{ field: 'Economy', title: 'Economoy', width: 40 }

],

dataSource: {
transport: {
read: {
url: 'Home/GetNews',
dataType: "json",
type: "POST"
}
},
schema: {
data: function (data) {
return data.data;
},
total: function (data) {
return data.total;
}
},
pageSize: 100

},
// change: onChange,
// dataBound: onDataBound,
dataBound: HoverOnGrid,
pageable: true,
sortable: true,
scrollable: true,
height: 565,
width: 2000
});
}

最佳答案

关于您要实现的内容,有两个不同的问题:

  1. 将悬停绑定(bind)到 Grid 行(简单)。
  2. 生成显示其余列的弹出窗口/工具提示(简单但需要一些编码)。

因为您似乎已经定义了一个名为 HoverOnGrid 的函数,所以我们可以将其写为:

function HoverOnGrid() {
$("tr", "#recentNews").on("mouseover", function (ev) {
// Invoke display tooltip / edit row
var rowData = grid.dataItem(this);
if (rowData) {
showTooltip(rowData);
}
});
}

grid 是:

var grid = $("#recentNews").kendoGrid({
...
}).data("kendoGrid";

现在,棘手的问题是,如何显示工具提示/弹出窗口...没有预定义的方法,您应该自己做。您可以获得的结果是将 HoverOnGrid 定义为:

function HoverOnGrid() {
$("tr", "#recentNews").on("click", function (ev) {
grid.editRow(this);
})
}

Grid 初始化说:

 editable:   "popup",

但这会打开一个弹出窗口,但字段处于编辑模式(您可以在 dataSource.schema.model 中定义所有字段都不可编辑:

model: {
fields: {
Date: { editable: false },
TradeTime: { editable: false },
Title: { editable: false },
Country: { editable: false },
Economy: { editable: false }
}
}

但它仍然在 popup 中显示 updatecancel 按钮。

因此,我的建议是编写一段代码来创建该工具提示

编辑:要隐藏工具提示,您应该首先拦截mouseout 事件:

$("tr", "#recentNews").on("mouseout", function (ev) {
// Hide Tooltip
hideTooltip();
});

hideTooltip 可能很简单:

var tooltipWin = $("#tooltip_window_id").data("kendoWindow");
tooltipWin.close()

假设您始终为 tooltip 使用相同的 id(在本例中为 tooltip_window_id)。

关于javascript - 将鼠标悬停在 Kendo UI Grid 中的每一行的行详细信息显示为弹出窗口/工具提示表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14069484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com