Telerik Forums
Kendo UI for jQuery Forum
3 answers
227 views

Hi

How can i have both way of filtering data in one column?

I need to have list of items (like multiselect) and operators (>,<, !=) too. When i set "multi:true" then i not see operators anymore.

Georgi
Telerik team
 answered on 20 Jul 2017
3 answers
734 views

Is there a way to sort on a hidden column instead to the visible column?

I need to sort on a datetime with a specific format but it doesn't work as it's a string

 

thank

Konstantin Dikov
Telerik team
 answered on 20 Jul 2017
1 answer
188 views

I recently worked on a Kendo pie chart, and we needed to remove all the extra margin and padding around the chart, and it needed a height of 300px. We then exploded one slice, as explained in the documentation.

After doing this, the chart is rendered with the exploded slice being outside the bounds of the chart.

I started with the example from the documentation page above and changed it to how we have ours, namely adding a static chartArea height and 0 margin, setting plotArea margin and padding to 0, and setting the series padding to 0.

http://dojo.telerik.com/@john.washam@360vinspin.com/EGENij

Is this expected behavior or a bug?

Stamo Gochev
Telerik team
 answered on 20 Jul 2017
9 answers
1.0K+ views

i have a requirement with one grid and dropdownlist.

grid has columns  ID, Name, Type , Source, Destination

When the destination is empty or when destination column contains double hyphen "--" i need to update the column value to the selected value of the dropdown (this dropdown is not a part of grid)

I tried to provide defaultValue while declaring the model but it dint work, here is the code snippet

 schema: {
                        model: {
                            fields: {

                                DestinationLocator: {

                                    type: "string", defaultValue: $("#myDDL").data("kendoDropDownList").text()
                                }

                           }
                        }

I even tried to loop through the Grid and update the column manually, this worked when there are less number of rows, when the Grid has more than 500 rows, the application does not respond.

 

        var grid = $("#myGrid").data("kendoGrid");
 var dataitem = grid.dataSource.data();

                    var destLocText = $("#myDDL").data("kendoDropDownList").text();
                    for (var i = 0; i < dataitem.length; i++) {
                        if (dataitem[i].DestinationLocatorID == null || dataitem[i].DestinationLocatorID == '' || dataitem[i].DestinationLocatorID == '--') {
                            dataitem[i].set("DestinationLocator", destLocText);
                        }
                    }

 

Please help me.

Arun
Top achievements
Rank 1
 answered on 20 Jul 2017
3 answers
310 views
Since upgrading to Q1 2015 release, our users are complaining that when you select an item from a multi-select, that item remains in the list of items that can be added.  Selected items have a class of "k-state-selected" so they show with a different colour background and selecting an item again will remove from the result set, but the behaviour is confusing and annoying to the end-users and I cannot work out how to disable it.

This change is not documented here http://www.telerik.com/support/whats-new/kendo-ui/release-history/q1-2015 and I cannot find any mention of it in the API reference. How do I make multi-selects behave as in the previous release please?

Thanks
Nencho
Telerik team
 answered on 20 Jul 2017
8 answers
1.0K+ views
My model has date objects dotted all around it, what's the preferred way to handle the formatting of those into a readable format?

I'm not sure how to get the values into a function to return the formatted Date object back...I know I can't databind a format directly, so how do I pass in the data value to a function so it returns what format I want.

data-bind="text: getDate(selectedBlock.data.EndDate)"

I've tried things like the above, but doesn't do anything (so clearly it's wrong)
Maciej
Top achievements
Rank 1
 answered on 19 Jul 2017
3 answers
2.4K+ views
How can we set a grid column width programmatically (after the grid initialization)?
Chris
Top achievements
Rank 1
 answered on 19 Jul 2017
3 answers
275 views

Hello,

When values are already selected, the read filter no longer locates on page 1.
This only happens when values are selected, I get the impression that the read with filter remains on the same page as the read after ValueMapper.

EditorFor

@using Newtonsoft.Json;
@model IEnumerable<int>
@{
    Layout = ViewBag.Layout ?? "_bootstrap.cshtml";
    ViewData.TemplateInfo.HtmlFieldPrefix = ViewData.TemplateInfo.HtmlFieldPrefix.Replace(ViewData.ModelMetadata.PropertyName, "").Trim('.');
    var propertyName = ViewData["name"] == null ? ViewData.ModelMetadata.PropertyName : ViewData["name"].ToString();
 
    var editorHtmlAttributes = Html.GetUnobtrusiveValidationAttributes(propertyName, ViewData.ModelMetadata);
    var htmlAttributes = ViewBag.HtmlAttributes;
    if (htmlAttributes != null)
    {
        if (htmlAttributes is IDictionary<string, object>)
        {
            editorHtmlAttributes.Merge((IDictionary<string, object>)htmlAttributes);
        }
        else
        {
            editorHtmlAttributes.Merge(new RouteValueDictionary(htmlAttributes));
        }
    }
    editorHtmlAttributes.Merge("class", "form-control");
 
    var populationParams = JsonConvert.SerializeObject(ViewBag.PopulationParams);
}
 
@(Html.Kendo().MultiSelect()
        .Name(propertyName)
        .DataTextField("Text")
        .DataValueField("Value")
        .Filter("contains")
        .Value(Model)
        .HtmlAttributes(editorHtmlAttributes)
        .DataSource(source =>
        {
            source.Custom()
                  .ServerFiltering(true)
                  .ServerPaging(true)
                  .PageSize(80)
                  .Type("aspnetmvc-ajax")
                  .Transport(transport =>
                  {
                      transport.Read("_To", "Population", new { area = "Template", populationParams = populationParams });
                  })
                  .Schema(schema =>
                  {
                      schema.Data("Data")
                            .Total("Total");
                  });
        })
        .Virtual(v => v.ItemHeight(26).ValueMapper("valueMapper" + propertyName))
        .Events(e =>
        {
            e.DataBound("onDataBound" + propertyName).Change("onDataBound" + propertyName);
        })
)
<div id="count-@(propertyName)" class="text-right">
 
</div>
<script>
    var cookieIds = "templateemailable-@(propertyName)";
 
    function valueMapper@(propertyName)(options) {
 
        $.cookie(cookieIds, JSON.stringify(options.value), { path: '/' });
 
        $.ajax({
            url: "@Url.Action("_ToValueMapper", "Population", new { area = "Template", populationParams = populationParams })&cookieIds=" + cookieIds,
            type: "GET",
            success: function (data) {
                options.success(data);
            }
        })
    }
 
    function onDataBound@(propertyName)(e) {
        $("#count-@(propertyName)").html(e.sender.value().length);
    }
</script>
 
@Html.ValidationMessage(ViewData.ModelMetadata, new { name = ViewData["name"] })
@if (!string.IsNullOrEmpty(ViewData.ModelMetadata.Description))
{
    <p class="help-block">@Html.Raw(ViewData.ModelMetadata.Description.Localize())</p>
}

 

Controler

public virtual ActionResult _To([DataSourceRequest] DataSourceRequest request, string populationParams)
{
    var result = (new ToDataSource()).GetSelectListItems(null, populationParams);
 
    return Json(result.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
public virtual ActionResult _ToValueMapper(string populationParams, string cookieIds)
{
    var values = new List<string>();
    if (Request.Cookies[cookieIds] != null)
    {
        values = Server.UrlDecode(Request.Cookies[cookieIds].Value).JsonToObject<IEnumerable<string>>().ToList();
        Request.Cookies[cookieIds].Expires = DateTime.Now.AddDays(-1);
    }
 
    var indices = new List<int>();
 
    if (values != null && values.Any())
    {
        var list = values.ToList();
 
        var source = (new ToDataSource()).GetSelectListItems(null, populationParams);
 
        var index = 0;
        foreach (var item in source)
        {
            if (list.Contains(item.Value))
            {
                indices.Add(index);
 
                list.Remove(item.Value);
                if (!list.Any())
                    return Json(indices, JsonRequestBehavior.AllowGet);
            }
 
            index += 1;
        }
    }
 
    return Json(indices, JsonRequestBehavior.AllowGet);
}

 

Thank you for your help

Misho
Telerik team
 answered on 19 Jul 2017
9 answers
1.7K+ views

I am trying to apply localization for currency using the NumericTextBox, but I am not observing any changes when I apply a locale.  

I can't piece together how to apply localization for a specific country/locale (e.g.,Germany; "de") on load.  

Is the application of the localization set as an attribute within the <kendo-numerictextbox> tag, or should I be applying the localization within a method.

 

Here is what I have so far:

@Component({
    selector: 'my-app',
    template: `
        <kendo-numerictextbox format="c3" locale="de" [(ngModel)]="numericValue" [min]="-10" [max]="100" [autoCorrect]="false">
            <kendo-numerictextbox-messages
                increment="Custom increment"
                decrement="Custom decrement"
            ></kendo-numerictextbox-messages>
        </kendo-numerictextbox>
        <hr/>
        
        <div>Underlying Value:<input type="number" [(ngModel)]="numericValue"></div>
    `
})

export class AppComponent {
  public numericValue: number = 987654.321;
}

 

I would expect the value to be displayed as "987.654,321 â‚¬".

Dimiter Topalov
Telerik team
 answered on 19 Jul 2017
8 answers
136 views
I've been trying to get the treelist to respond to keyboard events similar to setting "navigatable" to true in the grid. However, there doesn't seem to be an option for allowing this, making it impossible to navigate the treelist through the keyboard.
As a workaround I tried binding keypress or keydown to try to implement this myself but neither of these events seem to fire (they seem to be absorbed immediately by the treelist).
Is there an option to allow for keyboard navigation or, if not, is there a workaround I could apply?
Stefan
Telerik team
 answered on 19 Jul 2017
Narrow your results
Selected tags
Tags
+? more
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?