Сетка кендо внутри всплывающего окна кендо

Привет, мы можем поместить сетку кендо во всплывающее окно кендо? Я пытаюсь открыть всплывающее окно при нажатии кнопки и показать данные из моей базы данных на основе нажатия кнопки.

Может кто-нибудь сказать мне, как этого добиться? Есть ли доступный пример?

Спасибо


person jestges    schedule 01.08.2014    source источник
comment
Поместите сетку во всплывающее окно, как если бы вы поместили туда что-нибудь еще.   -  person CSharper    schedule 01.08.2014
comment
Привет, спасибо за ответ. Да, я размещаю сетку, но я хочу вызвать метод привязки данных на основе кнопки. то есть у меня есть 3 кнопки, и я хочу загрузить одно и то же всплывающее окно. И здесь я хочу изменить источник данных на основе каждой кнопки. Бывший. Если я нажму кнопку 1, я хочу вызвать другой источник данных (/Employees/1,/Employees/2, Employees/3). То же самое для двух других.   -  person jestges    schedule 01.08.2014
comment
Проверьте мое редактирование, если вам нужно настроить несколько методов window.Refresh и вызвать правильный, используя оператор IF   -  person CSharper    schedule 01.08.2014


Ответы (1)


Настройте всплывающее окно

@(Html.Kendo().Window()
    .Name("searchWindow")
    .Title("Manage Filters")
    .Draggable(true)
    .Resizable()
    .Scrollable(false)
    .Width(780)
    .Height(500)
    .Visible(false)
    .Iframe(true)
    .Modal(true)
    .Events(m=>m.Close("CloseRefresh"))    
)

Запустите его в событии Click

 $("#btnManageFilters").click(function () {

        var window = $("#searchWindow").data("kendoWindow");

        window.refresh({
            url: "/Order/ListSavedSearches"
        });

        window.title("Manage Filters");
        window.center();
        window.open();

    });

Определите свою сетку в частичном представлении и верните ее

        public ActionResult ListSavedSearches()
        {                      
            OrderGridViewModel ogvm = new OrderGridViewModel();
            ogvm = //populate;
            return PartialView("_OrderSearchParameters", ogvm);    
        }

Редактировать:

Если вы публикуете форму и у нее есть несколько кнопок, вам нужно настроить их с одним и тем же name и принять это значение в качестве аргумента в вашем контроллере.

        <input type="submit" id="btnNew" name="command" value="New"  />&nbsp;
        <input type="submit" id="btnSave" name="command" value="Save" />&nbsp;
        <input type="submit" id="btnApply" name="command" value="Apply" />&nbsp;

    [HttpPost]
    public ActionResult SaveParameters(ViewModel model, string command)

string command будет иметь value того, что было нажато. Таким образом, если нажать btnSave, команда будет равна «Сохранить», запустив оператор переключения на основе переданной команды.

Если ваши кнопки не публикуются в форме, получите значение с помощью JQuery, this.val() должно работать внутри события нажатия кнопок. И передайте его через строку запроса внутри метода window.refresh({}), упомянутого выше.

person CSharper    schedule 01.08.2014
comment
Всплывающее окно не отображается :( Я дал, как показано ниже. ‹div id=mywindow /› вместо использования @(Html.Kendo().Window(). Можете ли вы помочь мне, как привязать к div? - person jestges; 01.08.2014