Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to Change Caption of popup kendo grid by html helper in add window

I am using the popup kendo grid and i use add new record and edit mode and i want change caption of popup window kendo grid by html helper when i add new record.

    <div class="k-rtl">

    @(Html.Kendo().Grid<KendoSample.Models.Person>()
   .Name("grid")
   .Columns(columns =>
    {
        columns.Bound(p => p.PersonId).Title("Person Code").Width(100).Sortable(true);
        columns.Bound(p => p.Name).Title("Name").Width(200).Sortable(true);
        columns.Bound(p => p.Family).Title("Family").Sortable(false);
        columns.Command(c => { c.Edit().Text("Edit").CancelText("Cancel").UpdateText("save"); c.Destroy().Text("Delete"); });            
    })
.Pageable()

.ToolBar(s => { s.Create().Text("ایجاد"); })
.Editable(c => { c.TemplateName("Default").Mode(GridEditMode.PopUp); c.Window(x => x.Title("ویرایش")); })


.Scrollable()
.Sortable()
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
    .Ajax()
                            .Model(c => c.Id(p => p.PersonId))
                            .Create(c => c.Action("Read", "Home"))

    .Read(read => read.Action("EditingPopup_Read", "Grid"))
    .Update(update => update.Action("EditingPopup_Update", "Grid"))
    .Destroy(update => update.Action("EditingPopup_Destroy", "Grid"))                                


                            .ServerOperation(true)
    .PageSize(8)
    .Read(read => read.Action("EditingPopup_read", "Home"))
 )
 .Sortable()
 .Filterable()
 )

</div>

please tell me how to change caption of popup window in add mode.

enter image description here

like image 892
Iraj Avatar asked Jan 22 '14 13:01

Iraj


3 Answers

i fix this issue by use edit event.

.Events(events => events.Edit("insertPopupCaption")

<script>
 function insertPopupCaption(e) {
 if (e.model.isNew()) {
     $('.k-window-title').text("add");        
 }   
}
</script>
like image 138
Iraj Avatar answered Nov 15 '22 02:11

Iraj


@Iraj, the problem with matching on $('.k-window-title') is that it will change the caption for every Kendo UI window on that page. I have a nested grid entry page where the second grid was in a popup window. As a work around, I put my edit template inside a div with a class of "bdPopup". Then to get the caption of that form, I used the following syntax:

$(".bdPopup").parent().parent().parent().children(".k-window-titlebar").children(".k-window-title").text("Add")
like image 44
Chris Miller Avatar answered Nov 15 '22 04:11

Chris Miller


You can change title in grid edit event.

    grid.bind("edit", function (event) {
    event.container.parent().find('.k-window-title').text(event.model.isNew() ? "New" : "Edit");
});
like image 35
Alim İŞÇİ Avatar answered Nov 15 '22 04:11

Alim İŞÇİ