【问题标题】:Create links in Kentico reports在 Kentico 报告中创建链接
【发布时间】:2019-05-01 19:08:19
【问题描述】:

我想向 Kentico 报告添加可点击链接。报告编辑器允许您在布局中添加各种 HTML 标记,但不允许您添加已插入布局中的表格的 HTML INSIDE。 (或者,如果确实如此,那么从 UI 或 Kentico 文档中并不明显。)我希望在每一行中都出现一个链接,并且该链接应该包含该行中的一个值。 单击任何链接将打开另一个页面,其中显示有关特定记录的更多数据。在我的例子中,我的第一列是一个 ID 列,我希望它的值(在每一行中)表现得像一个指向另一个页面的超链接,该页面的 URL 包含点击的 ID 值作为参数。

【问题讨论】:

    标签: hyperlink report reporting kentico


    【解决方案1】:

    我们可以在我们的 Kentico 报告中使用 jquery 来允许特定字段中的每个值在单击时导致打开链接。就我而言,我有一个 URL,我想在其中嵌入报告中的 ID 值。我想打开一个管理页面,其 URL 如下所示(其中 9999 被我的报告中的记录 ID 替换):

    /CMSModules/AdminControls/Pages/UIPage.aspx?elementguid=00000000-0000-abcd-0123-000000000000&objectid=9999&displaytitle=false
    

    所以让我们假设报告中的第一个字段是一个 ID 列,我们想让显示的 ID 表现得像一个指向其他页面的链接。

    首先我们需要jquery。在“Source”模式下编辑报表的布局并为 jquery 添加一个脚本引用,例如您可以从 code.jquery.com 获得的脚本引用,或者如果您有它,只需在本地引用它:

    <script src="/jquery-3.4.0.min.js"></script>
    

    接下来,我们必须找到每个 ID 字段,然后使其表现得像一个超链接。为此,我们找到带有 ID 列标题的

    ,走到 ,然后在 下找到所有 。一旦我们有了每个 ,我们就遍历它们:
    1. 像超链接一样在 ID 值下划线
    2. 将光标设置为像超链接一样的手
    3. 添加一个 onclick 事件以使用我的 ID 字段的值打开一个 URL(在新选项卡中)

    所以这是脚本。就像添加 jquery script 标签一样添加它。 (但在 jquery script 标签之后添加)

    <script>
    $('th:contains("MyIDColumnTitle")').parents('table').first().children('tbody').children('tr').each(function() {
        $(this).children('td').first()
            .css('text-decoration','underline')
            .css('cursor','pointer')
            .click(function(){
                var thisId = $(this).text();
                var u = "/CMSModules/AdminControls/Pages/UIPage.aspx?elementguid=00000000-0000-abcd-0123-000000000000&objectid=" + thisId + "&displaytitle=false"
                window.open(u,'_blank');
            });
    });
    </script>
    

    请记住,如果 MyIDColumnTitle 不是很唯一,此脚本可能会找到错误的 th 和 table。修改 jquery 选择器以满足您的需要。您可能希望在报表周围添加一个具有元素 ID 的包装元素,以便您可以使用选择器来具体化。

    采用相同的概念并使用它在模式对话框中启动页面并不难。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多