Как добавить элементы управления сервером в Kentico unigrid?

Я просмотрел всю документацию Kentico 8 и не смог найти никакой информации о добавлении серверных или HTML-элементов управления в UniGrid.

Мне нужно добавить простой флажок или раскрывающийся список в один из столбцов UniGrid, но я не могу найти способов сделать это! единственное, что я нашел, это GridOptions.ShowSelection, который является общим выбором для выбора каждой строки, которая мне не нужна.

любая помощь будет принята с благодарностью.


person Ali    schedule 09.11.2015    source источник


Ответы (1)


Вы можете перейти к событию OnExternalDataBound в отделенном коде Unigrid, см., например, https://devnet.kentico.com/articles/advanced-unigrid-example.

Создайте здесь динамическую новую веб-часть или пользовательский элемент управления.

Например:

В вашем XML у вас есть этот столбец

<column source="##ALL##" externalsourcename="yourcolumn" caption="" wrap="false" />

Затем в вашем коде UniGrid

protected object UniGrid_OnExternalDataBound(object sender, string sourceName, object parameter)
{
    ContextResolver resolver = CMSContext.CurrentResolver.CreateContextChild();
    DataRowView drv;

    switch (sourceName.ToLower())
    {
        case "yourcolumn":
            drv = (DataRowView)parameter;
            CheckBox chk = new CheckBox();
            chk.ID = "chkDoc";
            chk.CssClass = "normalcheckbox";
            chk.InputAttributes.Add("Value", ValidationHelper.GetString(drv["NodeGUID"], string.Empty));
            return chk;
    } 
}
person maartenvdh    schedule 09.11.2015
comment
Как можно получить значение chkDoc в функции OnAction unigrid? - person Sprintstar; 09.01.2018