0

好的,首先我读入一个加密文件作为 my DataSource,然后将其转换为 XML 字符串。

数据在我的网格中正确显示,除了动态添加到面板栏的面板似乎不像在这个小提琴中看到的那样。

它们被添加到:

<ul id='panelbar'>
    <li id='patDet' class='k-state-active'>
        <span class='k-link k-state-selected'><input type='checkbox' id='cPatientDetails' /><label for='cPatientDetails'><a href='#'  id='cbSelect'></a>Patient Detail</label></span>
        <div id='patTab'></div>
    </li>
</ul>

像这样:

$("<li id = '"+ liID +"' class='k-item k-state-default' role='menuitem' aria-expanded='false' aria-hidden='true'><span class='k-link k-header'><input type='checkbox' id='c" + x + "' class='cbSelect' /><label for='c" + x + "'><a href='#'   id='cbSelect''></a>" + liTitle + "</label></span></li>").appendTo("#panelbar");
$("<div id = 'gridGenerate" + x + "' width='400px;' aria-hidden='true'></div>").appendTo("#" + liID);

跨度和链接的原因是可以在我的复选框上使用样式,可以在这个小提琴中找到。

起初我使用了一个硬编码的 DataSource,它工作得很好,但是当我切换到使用请求获取数据时,除了面板栏之外,所有数据都按原样显示。

这是它的样子:在此处输入图像描述

当只有第一个选项卡应该打开时。我像这样创建了面板栏:

$("#panelbar").kendoPanelBar(
{
    expandMode: "single"
});

编辑

我现在已经做到了,仅在检索和转换数据后才创建面板栏和网格,但问题仍然存在。

知道为什么会这样吗?

4

2 回答 2

3

当 KendoUI 添加 时tab,它所做的不仅仅是添加 HTML 标签。这就是为什么您有方法可以按需添加选项卡。

而不是手动添加 HTML 尝试使用:

var panelbar = $("#panelbar").data("kendoPanelBar");
panelbar.append([
    {
        text: "<label for='c" + x + "'>" +
                "<a href='#'   id='cbSelect''></a>" +
                "" + liTitle + "" +
                "</label>",
        encoded: false,
        content: "<div>text</div>"

    }

]);

单击此处在 JSFiddle 中查看它。

于 2013-04-19T06:55:55.103 回答
0

回答:

似乎当我提出问题时,它可以帮助我找到答案。刚找到。

我在添加额外面板之前创建了面板栏,所以我只是移动了:

$("#panelbar").kendoPanelBar(
{
    expandMode: "single"
}); 

到我的方法结束。添加所有内容,然后我创建面板栏。

于 2013-04-19T06:51:27.747 回答