Kendo MVC UI TreeList с многострочным текстом - PullRequest
0 голосов
/ 17 июня 2019

Я добавил текстовую область как EditorTemplate (StringTextArea.cshtml) в TreeList.

@model string

@(Html.TextAreaFor(m => m, new { @class = "k-input k-textbox" }))

Класс модели

public class LevelViewModel
{
    public int Id { get; set; }
    public string LvlName { get; set; }
    [UIHint("StringTextArea")]
    public string LvlType { get; set; }
}

TreeList добавляет текстовую область в режиме редактирования, и я заменяю '\ n 'в LvlType в' <br /> 'перед сохранением в SQL Server 2008

LvlType = lvl.LvlType.Replace("\n", "<br />")

Но в TreeList строка отображается в том виде, как она есть.

enter image description here

Есть ли способ сделать TreeList для отображения строки с переносами строк?

Спасибо

1 Ответ

0 голосов
/ 18 июня 2019

Моя первая идея заменить кодированный <br /> действительно делала его более сложным, чем это должно быть: (.

Лучшее решение - создать шаблон: template: "# = LvlType #"

При использовании # = # он не будет кодировать, при использовании #: # он будет кодировать! Мой тест: Telerik dojo

<html>
<head>
<base href="https://demos.telerik.com/kendo-ui/treelist/local-data-binding">
<style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
<title></title>
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.common-material.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.material.min.css" />
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2019.2.514/styles/kendo.material.mobile.min.css" />

<script src="https://kendo.cdn.telerik.com/2019.2.514/js/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2019.2.514/js/kendo.all.min.js"></script>

</head>
<body>
    <div id="example">
        <div id="treelist"></div>

        <script>
            $(document).ready(function () {
                var dataSource = new kendo.data.TreeListDataSource({
                    data: [
                      { id: 1, Name: "Daryl <br/>Sweeney", Position: "CEO", Phone: "(555) 924-9726", parentId: null },
                    ],

                    schema: {
                        model: {
                            id: "id",
                            expanded: true
                        }
                    }
                });

                $("#treelist").kendoTreeList({
                    dataSource: dataSource,
                    height: 540,
                    columns: [
                        { field: "Position" },
                        { field: "Name", template: "#=Name#" },
                        { field: "Phone" }
                    ]
                });
            });
        </script>
    </div>
</body>
</html>
...