Установить все флажки в Kendo Dropdowntree проверяется при загрузке страницы - PullRequest
0 голосов
/ 21 июня 2019

Я хочу создать kendo dropdowntree, где, когда я загружаю страницу, все флажки отмечены.Вот мой код.

    @(Html.Kendo().DropDownTree()
                          .AutoWidth(true)
                          .Name("dropdowntree")
                          .DataTextField("Name")
                          .DataValueField("Id")
                          .CheckAll(true)
                          .HtmlAttributes(new { style = "width: 100%" })
                          .Events(events => events.Change("onChange"))
                          .Filter(FilterType.Contains)
                          .AutoClose(false)
                          .Checkboxes(checkboxes => checkboxes
                              .Name("checkedFiles")
                              .CheckChildren(true)
                          )
                          .DataSource(dataSource => dataSource
                            .Read(read => read
                            .Action("GetName", "CheckBox")
                        )
                        )
    )

Я уже провожу некоторые исследования и пробую решение, но ни одного, если они работают.Например, что у меня есть попытка:

$(document).ready(function () {
   $("#dropdowntree input.k-checkbox").prop("checked", true);
})

Этот также не работает:

$(document).ready(function () {
    $("#dropdowntree").attr('checked', 'checked');
})

Этот - работа, но мне нужно установить значение.Что мне нужно, так это все проверено по умолчанию, нет необходимости устанавливать значение.

 $(document).ready(function () {
 var dropdowntree = $("#dropdowntree").data("kendoDropDownTree");
 dropdowntree.value(["1","2","3","4","5","6","7"]); 
 })

Кроме всего этого, я также пробую решение по этой ссылке jquery установить все флажки флажок и другие решения.Но все равно не работает.Мне действительно нужен совет.Спасибо.

1 Ответ

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

Я уже нашел ответ, если он кому-то нужен.

Сначала в контроллере я получаю весь список для идентификатора, затем я изменяю список на строку в json.

CONTROLLERКОД:

    public IActionResult CheckBoxDB()
    {
        List<string> parts = new List<string>();
        GetId(parts);
        ViewBag.All = parts;
        var json = JsonConvert.SerializeObject(parts);
        ViewBag.change = json;
        return View();
    }

    private void GetId(List<string> parts)
    {
        List<DdlcheckBox> ddlcheckBoxes = new List<DdlcheckBox>();
        ddlcheckBoxes = _context.DdlcheckBox.ToList();
        foreach (var data in ddlcheckBoxes)
        {
            string id = data.Id.ToString();
            parts.Add(id);
        }
    }

Затем в представлениях я получаю значение ViewBag в сценарии.

 <script>
$(document).ready(function () {
    var dropdowntree = $("#dropdowntree").data("kendoDropDownTree");
    dropdowntree.value('@ViewBag.change');
});
 </script>

Спасибо.

...