Telerik Forums
Kendo UI for jQuery Forum
3 answers
162 views

I am using your demo site for the Kendo editor.  I created a 4x2 table in the editor.  I then merged the first two cells horizontally, and the last two cells vertically.  I then changed some borders and set the table cell spacing in the wizard.  As I keep changing things, I see new cells get created unexpectedly.  We see this same behavior in our products.

This should be a 4x2 table:

 

 

Aleksandar
Telerik team
 answered on 11 May 2020
6 answers
118 views

I have a data grid with 5 fields and popup Add and Edits defined - see image001.jpg

One of the fields 'Template Name' is defined as display only (editor : displayOnly) because it has already been selected on the previous dialog

On the Edit popup it is shown - see image005.jpg

On the Add popup it is not shown (there is a small circle) - see image006.jpg

 

The users want it to be shown on both Add and Edit, as it is confusing

 

 

Alex Hajigeorgieva
Telerik team
 answered on 11 May 2020
11 answers
408 views

Hi,

I'm trying to add the new kendo rating control in a grid template column. When using percision=half, the last selected item is with hidden star. .

You can check it in this dojo - https://dojo.telerik.com/@bzpetkov/OburapiH

Otherwise, if the percision is full, everything is as expected. 

Please advise. Thanks, Boyan.

Boyan
Top achievements
Rank 1
 answered on 11 May 2020
6 answers
842 views
I have a grid in which I want to bind the generated columns inside the foreach-loop (currently set to "Number") to the dictionary entry of e.Key. The code below works, but I have the problem that I need the sorting functionality of the column menu to sort by the dictionary entry. In the current code I get the Bound "Number" as field to sort by, but I need the dictionary key.
 
@(Html.Kendo().Grid<Bauteil>()
                .Name("PartSearchGrid")
                .Resizable(resize => resize.Columns(true))
                .Sortable()
                .ClientDetailTemplateId("detailtemplate")
                .PersistSelection(true)
                .Selectable(selectable => selectable
                .Type(GridSelectionType.Row)
                .Mode(GridSelectionMode.Single)
                )
                .ToolBar(tools =>
                {
                    tools.Custom().Text("<input id='partsearchbox' onkeyup='onSearch()' placeholder='" + GuiLabel["Label_Search"].Value + "' />");
                    tools.Excel();
                    tools.Custom().Text("Reset").HtmlAttributes(new { onclick = "resetFilter()" });
                })
                .Pageable(pageable => pageable
                .PageSizes( new[] { 10, 20, 50, 100, 500, 1000 })
                .Enabled(true)
                .Numeric(true)
                )
                .Scrollable(s => s.Virtual(GridVirtualizationMode.Rows))
                .Columns(columns =>
                {
                    columns.Bound(p => p.Number).Width(100);
                    columns.Bound(p => p.Name).Width(100);
                    columns.Bound(p => p._calcNoOfProcesses).Width(100);
 
                    foreach (Meta_PlanningProfileEntry e in Model.Part_Profile_Entries)
                    {
                        columns.Bound("Number").ClientTemplate("# if (PlanningDataDict[\"" + e.Key + "\"] != null) { #" + "<p>#= PlanningDataDict[\"" + e.Key + "\"] #</p>" + "# } else { #" + "" + "# } #").Width(100);
                    }
                    columns.Bound(p => p.StateString).Width(100);
                })
                .Excel(excel => excel
                .FileName("TP_Parts_Export.xlsx")
                .AllPages(true)
                )
                .DataSource(dataSource => dataSource
                .Ajax()
                .PageSize(50)
                .ServerOperation(true)
                .Model(model =>
                {
                    model.Id(m => m.ID);
                })
 
                .Read(r => r.Action("Parts_Read", "Part").Data("getPartFilters"))
                )
                .ColumnMenu()
                )
Tsvetomir
Telerik team
 answered on 08 May 2020
7 answers
178 views

Hello Everyone,

I'm using kendo.ui.Window in my project which is run on mobile,

the window widget default is opened as maximum, it's perfect when the device is vertical,

but when I rotate the device to horizontal, sometimes it work fine, but sometimes the window widget is not full fill the screen, it will display like this

https://drive.google.com/open?id=1Wgl81bXRdFSwtSU5lebVWdNSoiAZajPH

is it possible to solve this problem programmatically?

 

here is my code: 

var myWindow = $('#chart-dialog');
myWindow.kendoWindow({
    width: 450,
    title: "QC Trend Chart - Test No:",
    visible: false,
    closable: false,
    modal: false,
    content: '',
    actions: [
        "Close"
    ],
});

 

Thanks for your help !!

David
Top achievements
Rank 1
 answered on 08 May 2020
3 answers
154 views

Trying to disable worksheet tab reordering but no dice. I've tried listening for dragstart using jquery as well as attaching kendoDraggable to the .k-item elements of my spreadsheet but drag event's don't seem to be raised when reordering tabs. 

 

                $("ul.k-tabstrip-items .k-item").kendoDraggable({
                    dragstart: function (e) {
                        return false; //tried e.preventDefault() as well
                    },
                    dragend: function (e) {
                        return false;
                    }
                });

Any suggestions would be appreciated.

Petar
Telerik team
 answered on 07 May 2020
4 answers
1.3K+ views

 

 

 

 

 

 

 

this.taskGridOptions = {
        data: self.tasks,
        scrollable: false,
        sortable: true,
        persistSelection: true,
        selectable: "row",
        change: function (grid) {
            console.debug("Change grid...");
            self.checkForCheckedRows();
        },
        dataBound: function () {

            this.table.find(".checked-row").click(function () {
                var checked = this.checked;
                var grid = $("#taskGrid").data("kendoGrid");
                // Find the row that was checked
                row = $(this).closest("tr"),

                    // Set the data item's IsSelected property
                    dataItem = grid.dataItem(row);
                dataItem.IsSelected = checked;

                var realItem = ko.utils.arrayFirst(self.tasks(), function (item) {
                    if (item.Id() == dataItem.Id) {
                        return true;
                    }
                });

                // And set it's IsSelected property (this field isn't bound)
                if (realItem)
                    realItem.IsSelected = checked;

                // Update the text alerting how many have been checked
                self.checkForCheckedRows();

                // debug
                console.debug(JSON.stringify(self.tasks()));
            });
        },
        noRecords: {
            template: "<div class='no-grid-data'> 'No records found, please refine your search.'</span>"
        },
        pageable: {
            pageSize: 20
        },
        columns: [
            {
                headerTemplate: "<input id='check-all-box', type='checkbox', class='check-box' />",
                field: "IsSelected",
                type: "boolean",
                width: 45,
                sortable: false,
                template: "<input type='checkbox' class='checkbox checked-row' />",
            },
            { field: "Id", title: "Task Id" },
            { field: "TicketId", title: "Ticket Ref" },
            { field: "LeadId", title: "Lead Id" },
            {
                field: "UserId", title: "User",
                template: function (data) {
                    return self.getUsernameByUserId(data.UserId);
                }
            },
            {
                field: "ResultCodeId", title: "Result Code",
                template: function (data) {
                    return self.getResultcodeById(data.ResultCodeId);
                }
            },
            {
                field: "DueDate", title: "Due Date",
                template: function (data) {
                    return parseJsonDate(data.DueDate).toLocaleString();
                }
            },

            {
                field: "Status", title: "Task Status",
                template: function (data) {
                    if (data.Status == InteractionStatusType.Closed)
                        return "Closed";
                    else if (data.Status == InteractionStatusType.InProgress)
                        return "In Progress";
                    else if (data.Status == InteractionStatusType.Open)
                        return "Open";
                }
            },
            {
                field: "ChannelType", title: "Channel Type",
                template: function (data) {
                    if (data.ChannelType == InteractionTypes.Call)
                        return "Call";
                    else if (data.ChannelType == InteractionTypes.Email)
                        return "Email";
                    else if (data.ChannelType == InteractionTypes.Chat)
                        return "Chat";
                }
            },
            {
                command: { text: "View Details", click: showDetails, title: " ", width: "180px" },
            }
        ]
    }
    
    function wnd() {
        $("#details")
        .kendoWindow({
            title: "Customer Details",
            modal: true,
            visible: false,
            resizable: false,
            width: 300
        }).data("kendoWindow");
    }
    detailsTemplate = kendo.template($("#template").html());

    function showDetails(e) {
        e.preventDefault();

        var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
        wnd.content(detailsTemplate(dataItem));
        wnd.center().open();
    }

 

<script id="template" type="text/x-kendo-template">
    <div id="taskInfo-dialog">
        <label class="form-label">
            Subject:
            <span>#=Description#</span>
        </label>
        <label class="form-label">
            Notes:
            <span>#=Notes#</span>
        </label>
    </div>
</script>

Plamen Mitrev
Telerik team
 answered on 06 May 2020
10 answers
3.2K+ views
I'm using this to add template in toolbar of kendo ui mvc grid.

.ToolBar(toolbar =>{
                toolbar.Template(@<text>
                        ...
                    </text>);
                })

I can also use this to add a default excel export button:
.ToolBar(toolbar => toolbar.Excel())

Is it possible to add the excel export button, then add template (buttons) after excel button?

or, we will have to use one template button and export excel file in code?


Thanks
Silviya Stoyanova
Telerik team
 answered on 05 May 2020
2 answers
4.7K+ views

Hi 

I am looking for some help . I need to get a pop up window if I click the cell in the grid. In simpler words ,The user should get a pop up grid when he clicks on the particular cell in a grid .

I have tired the on row select event but that is allowing me to click the whole row but I need a particular cell to be clicked on. And how to I bind my grid to the pop up window after selecting the cell in the grid. Any example would be appreciated.

 

Thanks in Advance.

 

 

Georgi
Telerik team
 answered on 05 May 2020
2 answers
130 views

I have a table of medical data, and a filter for each of the columns. I am trying to filter the autosuggestions of the second filter (the one for the description), so that it only suggests items which match the already input Area. If you check out this CodePen it probably makes more sense: https://codepen.io/thomasfarleigh/pen/dyYVbRd

 

If you enter 'Lip' into the Area input, you will see that the autosuggestions available for the Description are Neoplasm, and Tumor cells which is perfect, as they are two descriptions that match Lip. However if you enter 'Base of tongue' into the area input, the only autosuggestion you get is 'Something different' and not Neoplasm which is also a match for Base of tongue.

 

I'm really can't figure out why this is happening. Is the filter function already associating Neoplasm with Lip even though it matches both items? Would appreciate any guidance.

 

I am using this function which gets called by the dataBound event:
function filterAutoCompleteDataSource(e) {
  var gridFilter = e.sender.dataSource.filter();
  $("#grid").data("kendoGrid").thead.find('span[data-field="HistologyBehaviorDescription"] input[data-role="autocomplete"]').data().kendoAutoComplete.dataSource.filter(gridFilter);
}

Nikolay
Telerik team
 answered on 05 May 2020
Narrow your results
Selected tags
Tags
+? more
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Rob
Top achievements
Rank 3
Iron
Iron
Iron
Atul
Top achievements
Rank 1
Iron
Iron
Iron
Alexander
Top achievements
Rank 1
Veteran
Iron
Serkan
Top achievements
Rank 1
Iron
Shawn
Top achievements
Rank 1
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?