繁体   English   中英

如何在Kendo UI网格中从部分视图显示工具提示内容?

[英]How to show the tooltip content from partial View In Kendo UI grid?

当将鼠标放在网格单元上时,我使用ajax请求从局部视图中显示工具提示内容,但有时我发现工具提示内容未显示任何内容,有时还可以。我尝试在同步请求中制作ajax,但是有时还是不起作用。如何解决此问题?我只想在部分视图返回后显示内容。

在ajax异步属性中:我尝试过true或false

$("#Grid").kendoTooltip({
        filter: ".tooltipContent",
        width: "auto",
        position: "top",
        showOn: "click",
        autoHide: false,
        content: function (e) {
            var row = $(e.target).closest("tr");
            var dataItem = $('#Grid').data('kendoGrid').dataItem(row);
            Id = dataItem.Id
            $('#TooltipContentDiv').html("");
            $.ajax({
                url: "@Url.Action("GetPV","Home")",
                data: { "Id": Id },
                cache: false,
                async: true, 
                success: function (result) {
                     $('#TooltipContentDiv').html(result);
                },
                error: function () { }
            });
            return $('#TooltipContentDiv').html();

        }
    }).data("kendoTooltip");

尝试在Ajax调用的Success事件中移动返回值,以使其仅在成功事件后返回(否则将为空)。 由于JavaScript是异步的,因此它不会等待Ajax调用完成,并且可以在Success事件加载数据之前触发返回 这可能是您看到随机结果的方式。

$("#Grid").kendoTooltip({
    filter: ".tooltipContent",
    width: "auto",
    position: "top",
    showOn: "click",
    autoHide: false,
    content: function (e) {
        var row = $(e.target).closest("tr");
        var dataItem = $('#Grid').data('kendoGrid').dataItem(row);
        Id = dataItem.Id
        $('#TooltipContentDiv').html("");
        $.ajax({
            url: "@Url.Action("GetPV","Home")",
            data: { "Id": Id },
            cache: false,
            async: true, 
            success: function (result) {
                 $('#TooltipContentDiv').html(result);
            },
            error: function () { }
        });
    }
}).data("kendoTooltip");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM