Telerik Forums
Kendo UI for jQuery Forum
1 answer
165 views
http://www.kendoui.com/forums/kendo-ui-web/grid/virtual-scrolling-for-hierarchy-grid-doesn-t-work-properly.aspx
As in the above link it is mentioned that vertical scroll is not supported with detail Template
Currently this bug is resolved or still it is unsupported
Dimo
Telerik team
 answered on 15 Nov 2013
1 answer
179 views
Hi,

I am modifying the Custom Template for the ScrollView.  I have it displaying 4 images per page just like the demo does but I have noticed that if the total number of images returned in the data set isn't divisible by 4 then the remaining images do not display.

For example, my data set has 101 entries. Images 1-100 are seen but image 101 doesn't show. I assume that this is because the template is expecting 4 records or images at a time.

How can I make sure that all my images display regardless if the total is divisible by 4 or not?


Thanks,
Eric
Alexander Valchev
Telerik team
 answered on 15 Nov 2013
1 answer
231 views
Hi, 
I am using a grid with inline editing.  I would like for the Add button in the tool bar to invoke an action (go to a full edit screen) instead of adding inline.  Is there a  way to override this? 
Thank you. 
Alexander Valchev
Telerik team
 answered on 15 Nov 2013
1 answer
102 views
Using this JSON...

{
    Name: "Top Level",
    Collection: [
        First: [
          {
            Name: "Child",
            Size: 8,
            onIncrease: function(e){
                var current = e.data.get("Size");
                e.data.set("Size", current += 1);
            }
          }
        ]
    ]
}

With this template
<div data-template="tmpl-boxes-for-size" data-bind="source: Collection.First"></div>
<script type="text/html" id="tmpl-boxes-for-size">
    <div class="k-rails">
        <div class="k-item-reduce"></div>
        # for(var index = 0; index < data.Size; index++ ) { #
            <div class="k-rails-item"
                 style="text-align: center;
                        font-size: 20px;
                        vertical-align: middle;">
                #= index + 1 #
            </div>
        # } #
        <div class="k-item-increase" data-bind="click: onIncrease"></div>
    </div>
</script>


The DOM will not update when the code runs and increases the size, without an explicit call to the change event.

I am including the CSS classes used too, just for your convenience.
.k-item-reduce {
    float: left;
    width: 0px;
    height: 0px;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
    border-right: 8px solid #ccc;
}
.k-item-increase {
    float: left;
    width: 0;
    height: 0;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
     
    border-left: 8px solid #ccc;
}
 
.k-rails {
    position: relative;
 
    &:after {
        clear: both;
    }
 
    .k-rails-item {
        float: left;
        display: block;
        margin: 2px;
        height: 24px;
        width: 24px;
        border: dashed 1px #ccc;
    }
}
Running it with the following code will get it to work, but it is a bit obtuse. I would prefer if it just worked like other updates.
{
    Name: "Top Level",
    Collection: [
        First: [
          {
            Name: "Child",
            Size: 8,
            onIncrease: function(e){
                var current = e.data.get("Size");
                e.data.set("Size", current += 1);
                viewModel.trigger("change", { field: "Collection" });
            }
          }
        ]
    ]
}


Petyo
Telerik team
 answered on 15 Nov 2013
3 answers
120 views
Exmaple has Parent node with a checkbox and "x" child nodes.
When selecting the parent node all children are selected.

After executing code to uncheck all checkboxes:
$('input.checkbox-strategy:checkbox').prop('checked', false);
$('input.checkbox:checkbox').prop('checked', false);

After the code above executes when clicking on the Parent the children checkboxes are not checked. After unchecking and rechecking the Parent then the child nodes are selected as expected.

Is there a better way to "uncheck" the checkboxes so it behaves as expected?

thanks.
Daniel
Telerik team
 answered on 15 Nov 2013
1 answer
327 views
The splitter shows up, but I want the splitter to fill the page as it's shown, with a min height . However, when I adjust the page nothing happens. I tried to use the 
var resizeSplitter = function() {
    var topHeight = 100;
    var bottomHeight = 100;
    var centerHeight = $(window).height() - (topHeight + bottomHeight);
  
    var splitter = $("#vertical").data("kendoSplitter");
  
    splitter.size("#topPane", topHeight + "px");
    splitter.size("#middlePane", centerHeight + "px");
    splitter.size("#bottomPane", bottomHeight + "px");
     
    splitter.trigger("resize")
};
but it doesn't find the splitter. Any advice would be appreciated.

here is my HTML & JS

<!DOCTYPE html>
<html>
<head>
    <title></title>
 
    <link href="Content/KendoUI/styles/kendo.common.min.css" rel="stylesheet" />
    <link href="Content/KendoUI/styles/kendo.default.min.css" rel="stylesheet" />
 
    <script src="Scripts/KendoUI/jquery-1.8.2.js"></script>
    <script src="Scripts/KendoUI/kendo.all.js"></script>
 
    <script src="Scripts/spotfire/SpotfireApi.4.0.js"></script>
    <script src="Scripts/spotfire/POCWebPlayer.js"></script>
 
</head>
<body>
            <script>
                function getGridStudyFileter(sel) {
                    var value = sel.options[sel.selectedIndex].value;
                    var grid = $("#grid").data("kendoGrid");
                    if (value !== "") {
                        grid.dataSource.filter({ field: "StudyName", operator: "eq", value: value });
                    } else {
                        grid.dataSource.filter({});
                    }
 
                    /*
                    webPlayer.analysisDocument.setDocumentProperty(
                                "SelectedStudies",
                                [value]);
                    */
                }
            </script>
            <div id="filtering" style="border-color: darkblue;border:double">
                <select id="ddStudyName" onchange="getGridStudyFileter(this)">
                    <option value="">None Selected</option>
                    <option value="IPI-142-02">IPI-142-02</option>
                    <option value="IPI-142-02">IPI-142-06</option>
                    <option value="IPI-504-14">IPI-504-14</option>
                    <option value="IPI-504-15">IPI-504-15</option>
                </select>
                :::
                <span id="clientHeightDiv" ></span> :::
                <span id="windowHeightDiv" ></span> :::
                <span id="filteringSizeDiv"></span> :::
                <span id="TheSplitterContainerSizeDiv"></span> :::
                <span id="TheGridSizeDiv"></span> :::
                <span id="TheGridDataAreaDiv"></span> :::
                <br />
                <span id="splitterSizeDiv"></span> :::
                <span id="top-paneSizeDiv"></span> :::
                <span id="reconcileSizeDiv"></span> :::
                <span id="bottom-paneSizeDiv"></span> :::
                <span id="webPlayerSizeDiv"></span> :::
            </div>
 
    <div id="TheSplitterContainer" style="border-color: darkblue;border:double" class="k-content">
            <div id="vertical" style="min-height:500px;" >
                <div id="top-pane">
 
                        <div id="reconcileDiv" style="background-color:silver; font-family:'Courier New';font-size:10px;">
                            <div id="grid"  ></div>
                        </div>
                </div>
                <div id="bottom-pane">
                    <div class="pane-content">
 
                            <div class="pane-content">
                                <div id="webPlayerDiv" style="background-color:silver;overflow:auto;" ></div>
                            </div>
                    </div>
                </div>
            </div>
    </div>
</body>
</html>
JS:
var webPlayer;
var webPlayerRelativePath = "http://ipispotfireweb.infinitypharm1.com/spotfire/"; //"../SpotfireWeb/";
var analysisPath = "/Clinical/Safety/SAE Reconciliation/SAE Reconciliation Version 2"; // "/Test and Development/SAETest";  //";//
 
var CONTROL_WIDTH = 800;
var RECONCILE_HEIGHT = 300;
 
window.onload = function () {
 
    //document.domain = "infinitypharm1.com";
    //openWebPlayer();
 
    CONTROL_WIDTH = 800;
    RECONCILE_HEIGHT =500;
};
 
var createLayout = function () {
    resize();
};
 
var grid;
 
var BindData = function (data) {
 
     
    try {
        var dataSource = $('#grid').data("kendoGrid").dataSource;
        dataSource.data(data);
        //dataSource.read();
        $('#grid').data("kendoGrid").refresh();
        dataSource.sync();
    } catch (e) {
        alert(e);
    }
     
}
 
var textEditorInitialize = function (container, options) {
    $('<textarea name="' + options.field + '" style="width:140px;height:100px" />').appendTo(container);
};
 
var statusEditorInitialize = function (container, options) {
    $('<select name="' + options.field + '" ><option value="Open">Open</option><option value="Closed">Closed</option><option value="Queried">Queried</option><option value="Acceptable Discrepancy">Acceptable Discrepancy</option><option value="Pending PV Comment">Pending PV Comment</option></select>').appendTo(container);
};
 
function resizeGrid(newHeight) {
    var gridElement = $("#grid");
    var dataArea = gridElement.find(".k-grid-content");
    //var newHeight = gridElement.parent().innerHeight() - 2;
    //var diff = gridElement.innerHeight() - dataArea.innerHeight();
    gridElement.height(newHeight);
    //dataArea.height(newHeight - diff);
}
 
var resizeSplitter = function () {
    var topHeight = 100;
    var bottomHeight = 100;
    var centerHeight = $(window).height() - (topHeight + bottomHeight);
 
    var splitter = $("#vertical").data("kendoSplitter");
 
    splitter.size("#topPane", topHeight + "px");
    splitter.size("#middlePane", centerHeight + "px");
    splitter.size("#bottomPane", bottomHeight + "px");
 
    splitter.trigger("resize")
};
 
$(document).ready(function () {
    createLayout();
 
    // var crudServiceBaseUrl = this.location.protocol + "//" + this.location.hostname + "/Argus.WebServices/api";
 
    var testdata = [
        { "Id": 106, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 107, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 108, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 109, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 110, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 111, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 112, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
        { "Id": 113, "StudyName": "IPI-504-15", "UsubjId": "IPI-504-15-003-004", "Psubjid": "003-004", "MatchId": "IPI-504-15-003-004_Back pain_2012Apr24", "MatchSources": "Both", "ArgusCaseNum": "2012-00120", "Field": "GENDER", "ArgusValue": "FEMALE", "CricitValue": "F", "ValuesMatch": "Y", "Status": "Open", "DateCreated": "2013-09-17T04:00:00.000Z", "DmComments": "aaa", "PVComments": "vvv" },
    ]
 
 
 
    $("#vertical").kendoSplitter({
        orientation: "vertical",
        resize: resize,
        panes: [
            { collapsible: false, size: "100%" },
            { collapsible: false, size: "0%" }
        ]
    });
 
    grid = $("#grid").kendoGrid({
        resizable: true,
        columns: [
            { field: "Id", title: "Id", hidden: true , menu: false},
            { field: "StudyName", title: "Study Name" },
            { field: "Psubjid", title: "Psubjid" },
            { field: "MatchId", title: "Match Id", filterable: false },
            { field: "MatchSources", title: "Match Source" },
            { field: "Field", title: "Field" },
            { field: "ArgusValue", title: "Argus Value" },
            { field: "CricitValue", title: "Cricit Value" },
            { field: "ArgusCaseNum", title: "Argus Case Number" },
            { field: "Status", title: "Status", editor: statusEditorInitialize },
            { field: "DmComments", title: "DM Comments", editor: textEditorInitialize, filterable: false },
            { field: "PvComments", title: "PV Comments", editor: textEditorInitialize, filterable: false },
            { field: "UsubjId", title: "USUBJID" },
            { field: "ValuesMatch", title: "Values Match" },
            { field: "DateCreated", title: "Date Created", format: "{0:MM/dd/yyyy}" },
            {
                command: [
                {
                    name: "edit",
                    text: { edit: " ", cancel: "cancel", update: " " }
                }
                ]
                , title: " ", width: "100px"
            }
        ],
        columnMenu: {
            sortable: true,
            filterable: {
                messages: {
                    selectValue: "Select category"
                }
            },
            columns: true,
            messages: {
                columns: "Choose columns",
                filter: "Apply filter",
                sortAscending: "Sort (asc)",
                sortDescending: "Sort (desc)"
            }
        },
        pageable: false,
        sortable: {
            mode: "multiple",
            allowUnsort: true,
        },
        filterable: true,
        editable: "inline",
        cancel: function (e) {
            this.refresh();
        },
        toolbar: [
        { name: "cancel", text: "Cancel" }
        ],
        dataSource: {
            data: testdata,
            serverPaging: false,
            serverFiltering: false,
            serverSorting: false,
            pageSize: 500,
            schema: {
                model: {
                    id: "Id",
                    fields: {
                        Id: { editable: false },
                        StudyName: { type: "string", editable: false},
                        Psubjid: { type: "string", editable: false },
                        MatchId: { type: "string", editable: false },
                        MatchSources: { type: "string", editable: false },
                        Field: { type: "string", editable: false },
                        ArgusValue: { type: "string", editable: false },
                        CricitValue: { type: "string", editable: false },
                        ArgusCaseNum: { type: "string", editable: false },
                        Status: { type: "string" },
                        DmComments: { type: "string" },
                        PvComments: { type: "string" },
                        ValuesMatch: { type: "string", editable: false },
                        UsubjId: { type: "string", editable: false },
                        DateCreated: { type: "date", editable: false },
                    }
                }
            },
            batch: false,
            error: function (e) {
                alert("The action failed.\nStatus Text: " + e.xhr.statusText + "\nStatus: " + e.xhr.status + "\nError Message: " + e.xhr.responseText)
                this.cancelChanges();
            }
        }
    });
 
});
 
 
 
var openWebPlayer = function () {
    var webPlayerCustomization = new spotfire.webPlayer.Customization();
    webPlayerCustomization.showCustomizableHeader = false;
    webPlayerCustomization.showTopHeader = false;
    webPlayerCustomization.showClose = false;
    webPlayerCustomization.showAnalysisInfo = false;
    webPlayerCustomization.showToolBar = false;
    webPlayerCustomization.showExportFile = false;
    webPlayerCustomization.showExportVisualization = false;
    webPlayerCustomization.showUndoRedo = false;
    webPlayerCustomization.showDodPanel = false;
    webPlayerCustomization.showFilterPanel = true;
    webPlayerCustomization.showPageNavigation = true;
    webPlayerCustomization.showStatusBar = false;
 
    webPlayer = new spotfire.webPlayer.Application(webPlayerRelativePath, webPlayerCustomization);
 
    var onError = function (errorCode, description) {
        //log('<span style="color: red;">[' + errorCode + "]: " + description + "</span>");
    };
 
    var onOpened = function (analysisDocument) {
        resize();
 
        webPlayer.analysisDocument.marking.onChanged(
        "Marking",
        "Field Level Merge",
        ["DISCREPANCY_ID",
            "STUDY_NAME",
            "USUBJID",
            "SUBJID",
            "STATUS",
            "FIELD_NAME",
            "Values Match?",
            "ARGUS FIELD_VALUE",
            "CRICIT FIELD_VALUE",
            "ARGUS CASE_NUM",
            "Match Sources",
            "Match ID",
            "DM_COMMENTS",
            "PV_COMMENTS",
            "DATE_CREATED"
        ],
        500,
        onMarkingChangedCallback);
 
    };
 
    webPlayer.onError(onError);
    webPlayer.onOpened(onOpened);
    webPlayer.open(analysisPath, "webPlayerDiv", "");
};
 
String.format = function () {
    var s = arguments[0];
    for (var i = 0; i < arguments.length - 1; i++) {
        var reg = new RegExp("\\{" + i + "\\}", "gm");
        s = s.replace(reg, arguments[i + 1]);
    }
    return s;
}
 
function onMarkingChangedCallback(marking) {
    if (marking["USUBJID"] !== undefined) {
        var rows = marking["USUBJID"].length;
 
        var data = [],
        now = new Date();
        for (var i = 0; i < rows; i++) {
            var tmpId = getDiscrepancyIdMarkingData(i, marking);
            var tmpValuesMatch = getMarkingData("Values Match?", i, marking);
            var tmpStatus = getMarkingData("STATUS", i, marking);
            if (tmpStatus === "Unknown") {
                tmpStatus = "Open"
            }
            var pushIt = false;
            var isNew = false;
 
            if (tmpId > 0) {
                pushIt = true;
            } else if (tmpId == 0 && tmpValuesMatch == "N") {
                pushIt = true;
                isNew = true;
            }
            if (pushIt && !isNew) {
 
                data.push({
                    Id: tmpId,
                    StudyName: getMarkingData("STUDY_NAME", i, marking),
                    UsubjId: getMarkingData("USUBJID", i, marking),
                    Psubjid: getMarkingData("SUBJID", i, marking),
                    Field: getMarkingData("FIELD_NAME", i, marking),
                    ValuesMatch: tmpValuesMatch,
                    ArgusValue: getMarkingData("ARGUS FIELD_VALUE", i, marking),
                    CricitValue: getMarkingData("CRICIT FIELD_VALUE", i, marking),
                    ArgusCaseNum: getMarkingData("ARGUS CASE_NUM", i, marking),
                    MatchSources: getMarkingData("Match Sources", i, marking),
                    MatchId: getMarkingData("Match ID", i, marking),
                    Status: tmpStatus,
                    DmComments: getMarkingData("DM_COMMENTS", i, marking),
                    PVComments: getMarkingData("PV_COMMENTS", i, marking),
                    DateCreated: getMarkingData("DATE_CREATED", i, marking)
                });
            } else if (pushIt && isNew)
            {
                data.push({
                    StudyName: getMarkingData("STUDY_NAME", i, marking),
                    UsubjId: getMarkingData("USUBJID", i, marking),
                    Psubjid: getMarkingData("SUBJID", i, marking),
                    Field: getMarkingData("FIELD_NAME", i, marking),
                    ValuesMatch: tmpValuesMatch,
                    ArgusValue: getMarkingData("ARGUS FIELD_VALUE", i, marking),
                    CricitValue: getMarkingData("CRICIT FIELD_VALUE", i, marking),
                    ArgusCaseNum: getMarkingData("ARGUS CASE_NUM", i, marking),
                    MatchSources: getMarkingData("Match Sources", i, marking),
                    MatchId: getMarkingData("Match ID", i, marking),
                    Status: tmpStatus,
                    DmComments: getMarkingData("DM_COMMENTS", i, marking),
                    PVComments: getMarkingData("PV_COMMENTS", i, marking),
                    DateCreated: getMarkingData("DATE_CREATED", i, marking)
                });
            }
        }
 
        try {
            BindData(data);
        } catch (e) {
            alert(e);
        }
    }
}
 
var getDiscrepancyIdMarkingData = function (i, marking) {
    var returnValue = null;
    try {
        returnValue = marking["DISCREPANCY_ID"][i];
    } catch (e) {
        returnValue = 0;
    }
 
    if (returnValue === "(Empty)") {
        return 0;
    }
    return returnValue;
}
 
 
var getMarkingData = function (field, i, marking) {
    var returnValue = null;
    try {
        returnValue = marking[field][i];
    } catch (e) {
        returnValue = null;
    }
 
    if (returnValue === "(Empty)" || returnValue === "Unknown") {
        return null;
    }
    return returnValue;
}
 
 
 
var resize = function () {
 
     
    var webPlayerDiv = document.getElementById("webPlayerDiv");
    var reconcileDiv = document.getElementById("reconcileDiv");
 
 
    var width = document.documentElement.offsetWidth;
    var height = document.documentElement.offsetHeight;
    var windowHeight = $(window).height();
    var windowWidth = $(window).width();
    var TheSplitterContainerH = $("#TheSplitterContainer").height();
    var TheSplitterContainerW = $("#TheSplitterContainer").width();
    /*****************************/
    var gridElement = $("#grid");
    var dataArea = gridElement.find(".k-grid-content");
    var newHeight = gridElement.parent().innerHeight() - 2;
    var diff = gridElement.innerHeight() - dataArea.innerHeight();
 
 
    $("#clientHeightDiv").text("Client H/W: " + height + "/" + width);
    $("#windowHeightDiv").text("Window H/W: " + windowHeight + "/" + windowWidth);
    $("#filteringSizeDiv").text("Filtering H/W: " + document.getElementById('filtering').offsetHeight + "/" + document.getElementById('filtering').offsetWidth);
    $("#TheSplitterContainerSizeDiv").text("TheSplitterContainer H/W: " + TheSplitterContainerH + "/" + TheSplitterContainerW);
 
    $("#TheGridSizeDiv").text("TheGridSize H/W: " + gridElement.parent().offsetHeight + "/" + gridElement.parent().offsetWidth);
    $("#TheGridDataAreaDiv").text("TheGridDataArea H/W: " + dataArea.height() + "/" + dataArea.innerWidth());
 
    $("#splitterSizeDiv").text("splitterSizeDiv H/W: " + document.getElementById('vertical').offsetHeight + "/" + document.getElementById('vertical').offsetWidth);
    $("#top-paneSizeDiv").text("Top Panel H/W: " + document.getElementById('top-pane').offsetHeight + "/" + document.getElementById('top-pane').offsetWidth);
    $("#reconcileSizeDiv").text("Reconciliaton H/W: " + document.getElementById('reconcileDiv').offsetHeight + "/" + document.getElementById('reconcileDiv').offsetWidth);
    $("#bottom-paneSizeDiv").text("Bottom Panel H/W: " + document.getElementById('bottom-pane').offsetHeight + "/" + document.getElementById('bottom-pane').offsetWidth);
    $("#webPlayerSizeDiv").text("Web Player H/W: " + document.getElementById('webPlayerDiv').offsetHeight + "/" + document.getElementById('webPlayerDiv').offsetWidth);
 
 
    resizeSplitter();
};
 
 
window.onresize = function () {
    resize();
};
Dimo
Telerik team
 answered on 15 Nov 2013
1 answer
233 views
The Kendo documentation describes the above property as follows: 
"Specifies the field of the original record which value to be used for population of the Model field."

I don't quite understand what is meant here. Can someone describe what this property is actually for? 
Alexander Valchev
Telerik team
 answered on 15 Nov 2013
3 answers
88 views
Fiddle here
Try to click the rows.
Selection works in chrome, but not in IE 11.0.9600.16384 

jquery 1.9.1
kendo 2013.2.716
windows 8.1

Nikolay Rusev
Telerik team
 answered on 15 Nov 2013
4 answers
436 views
Is there any way how to use Date picker for selecting two dates (from and to) ?

Usually there are couple ways how to achieve it (most popular see below):
- two text fields
- one date picker widget with possibility to select two dates (like google analytic has)
Sanjaya Kodagoda
Top achievements
Rank 1
 answered on 15 Nov 2013
4 answers
400 views
I have created a simple test to display a MySQL data table on a Kendo Grid using the DEMOS example as a template (ie, using a toolbar with Add/Edit/Cancel buttons, and having a Destroy command button in the grid).   I have defined my transport as:

transport: {
 read: {
                url: "services/user-read.php", 
                dataType: "JSON"
              },
              create: {
                url: "services/user-add.php", 
                type: "POST"
              },
              update: {
                url: "services/user-edit.php",
                type: "POST"
              } ,
 destroy: {
                url: "services/user-delete.php",
                type: "POST"
              }
},


During use, the Grid lets me Add / Edit and Delete records (and initially READS records just fine).   However, my Create/Update/Destroy PHP's never get called.   Is there something I have to manually do to get a Datasource to call these functions?   Any good examples of this available?

Thanks in advance!




Lito
Top achievements
Rank 1
 answered on 15 Nov 2013
Narrow your results
Selected tags
Tags
Grid
General Discussions
Charts
Data Source
Scheduler
DropDownList
TreeView
MVVM
Editor
Window
DatePicker
Spreadsheet
Upload
ListView (Mobile)
ComboBox
TabStrip
MultiSelect
AutoComplete
ListView
Menu
Templates
Gantt
Validation
TreeList
Diagram
NumericTextBox
Splitter
PanelBar
Application
Map
Drag and Drop
ToolTip
Calendar
PivotGrid
ScrollView (Mobile)
Toolbar
TabStrip (Mobile)
Slider
Button (Mobile)
SPA
Filter
Drawing API
Drawer (Mobile)
Globalization
LinearGauge
Sortable
ModalView
Hierarchical Data Source
Button
FileManager
MaskedTextBox
View
Form
NavBar
Notification
Switch (Mobile)
SplitView
ListBox
DropDownTree
PDFViewer
Sparkline
ActionSheet
TileLayout
PopOver (Mobile)
TreeMap
ButtonGroup
ColorPicker
Pager
Styling
MultiColumnComboBox
Chat
DateRangePicker
Dialog
Checkbox
Timeline
Drawer
DateInput
ProgressBar
MediaPlayer
ImageEditor
OrgChart
TextBox
Effects
Accessibility
PivotGridV2
ScrollView
BulletChart
Licensing
QRCode
ResponsivePanel
Switch
Wizard
CheckBoxGroup
TextArea
Barcode
Breadcrumb
Collapsible
Localization
MultiViewCalendar
Touch
RadioButton
Stepper
Card
ExpansionPanel
Rating
RadioGroup
Badge
Captcha
Heatmap
AppBar
Loader
Security
Popover
DockManager
FloatingActionButton
TaskBoard
CircularGauge
ColorGradient
ColorPalette
DropDownButton
TimeDurationPicker
ToggleButton
BottomNavigation
Ripple
SkeletonContainer
Avatar
Circular ProgressBar
FlatColorPicker
SplitButton
Signature
Chip
ChipList
VS Code Extension
AIPrompt
PropertyGrid
Sankey
Chart Wizard
OTP Input
SpeechToTextButton
InlineAIPrompt
StockChart
ContextMenu
TimePicker
DateTimePicker
RadialGauge
ArcGauge
+? more
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Jay
Top achievements
Rank 3
Bronze
Iron
Iron
yw
Top achievements
Rank 2
Iron
Iron
Stefan
Top achievements
Rank 2
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?