Hi,
I have Multiple Column and Rows fields.
Now, when i sort ONLY the columns OR row, the results display as they should but when i want to Sort from both it "can't" I guess and gives up.
For example when i sort the Column (Year, Month)
sort: [ { field: "Year", dir: "desc" //or asc }, { field: "Month", dir: "asc" //or asc }]This work perfectly fine, It display the Year(s) (i.e. 2018, 2017, 2016) then the Months in order (I.e. Jan, Feb, March)
But as soon as i introduce the sorting the row also they then stop ordering correctly:
sort: [ { field: "FullName", dir: "asc" //or asc }, { field: "Year", dir: "desc" //or asc }, { field: "Month", dir: "asc" //or asc }]The order becomes: 2017, 2019, 2018. Nov, Dec, April, Jan (they seem to loose there sorting?)
Any ideas?
Thanks,
Lee.
There is a date constellation for which the datetimepicker returns null. This example is based on your documentation and just enhanced to show the effect:
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script> <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2017.3.1026/styles/kendo.common.min.css" /> <link rel="stylesheet" href="http://kendo.cdn.telerik.com/2017.3.1026/styles/kendo.blueopal.min.css" /> <script src="http://kendo.cdn.telerik.com/2017.3.1026/js/jquery.min.js"></script> <script src="http://kendo.cdn.telerik.com/2017.3.1026/js/kendo.all.min.js"></script> </head> <body> <input id="datetimepicker" /> </body> <script> $("#datetimepicker").kendoDateTimePicker({ change: function () { console.log (this.value()); } }); var datetimepicker = $("#datetimepicker").data("kendoDateTimePicker"); datetimepicker.min(new Date(2018, 0, 1)); </script></html>
It allows you to choose a date only equal or bigger than 1th of January 2018. That is working fine choosing from datetimepicker. Now proceed with this:
1. Use/start code above
2. Open Browser console
3. Chose date 1th of January 2018 from datetimepicker (it will be set in the input field, fine)
=> You will see the proper date/time in the console
4. Click into input field of datetimepicker and change the year to 2017
5. Click key 'Tab' to leave the input field to make the change trigger fire
=> You will see 'null' in the console!
It looks like the datetimepicker can't handle manually changed date/time in the input field lower than the set min(date).
In such a case I would expect the datetimepicker Widget would set back a previously set (valid) date or at least returning the set date even if it's lower than the min date. As a programmer I can't work with 'null' in such a case (it also could mean the date was deleted manually). Of course I could previously store any set date and in case of 'null' set that one back but I think this is not the idea. I also made a check with the 'max' option that ended up with the same behaviour.
Hello.
I have 130k+ cells in my spreadsheet and if I load all those cells with validation my grid takes a lot longer to load. (Something around 8-12 seconds), so I decided to not use validation.
Is there any other way to only allow float numbers in my cells? I'm down to use an 'on-change' trick or something like that.
Thank you
Hi,
I have a PivotGrid (MVC) and im using it's datasource to generate the Chart. This has gone well, apart from the Series. I've worked out how to get one working using the example here: https://docs.telerik.com/kendo-ui/controls/data-management/pivotgrid/how-to/integration/chart-integration
For my PivotGrid i have two values for my 'Rows', but the Chart only displays one, see attached image, here's my Chart:
$(container).kendoChart({ title: { text: title }, dataSource: { data: data, group: "row" }, series: [{ type: "column", field: "measure", name: "#= group.value # (category)", categoryField: "column" }], legend: { position: "bottom" }, valueAxis: { labels: { format: "{0:N}" } }, dataBound: function (e) { var categoryAxis = e.sender.options.categoryAxis; if (categoryAxis && categoryAxis.categories) { categoryAxis.categories.sort(); } } });
I'm sure it's most likely to-do with the Series, but using the integration provide i'm not sure how to add it.
Thanks,
Lee.
$(document).ready(function () { setTimeout(function () { createBarChart('#chart1'); createBarStackedChart('#chart2'); createPieChart('#chart3'); createBarChart('#chart4'); createBarStackedChart('#chart5'); createPieChart('#chart6'); createBarChart('#chart7'); createBarStackedChart('#chart8'); createPieChart('#chart9'); createBarChart('#chart10'); createBarStackedChart('#chart11'); createPieChart('#chart12'); //Initialize the chart with a delay to make sure //the initial animation is visible }, 400);});Is it possible to animate the bubbles when the data changes? I mean that the attributes (x,y,size,color) transition from the current to the new.
(Syntax includes TypeScript)
var opt: kendo.dataviz.ui.ChartOptions = {};
opt.title = { text: 'Plot' };
opt.transitions = true;
opt.dataSource = this.dataSource;
opt.series = [{ type: 'bubble', yField: 'price', xField: 'time', sizeField: 'size', categoryField: 'id' }];//, overlay: { gradient:'glass'} }]; // colorField
opt.xAxis = [{ title: { text: 'Time' }, crosshair: { visible: true, tooltop: { visible: true, format: "n0" } } }];
opt.yAxis = [{ title: { text: 'Change' }, crosshair: { visible: true, tooltop: { visible: true, format: "n0" } } }];
opt.tooltip = { visible : true, format : "{3}", opacity : 1 };
////////////////////////////////////////////////////////////////////////////////
public mergeDataArray( items : Array<any> ) : void
{
//this.dataSource.data(item);
var item : any;
var src: any;
var i : number;
var j : number;
var n : number = this.dataSource.total();
var nout : number = items.length;
var found: boolean;
console.log('outter ' + nout + ' ' + n );
for(j = 0; j < nout; j++)
{
src = items[j];
found = false;
//console.log('outter ' + src['id']);
for(i = 0; i < n; i++)
{
item = this.dataSource.at(i);
if( src.id == item.id )
{
item.set('price', src.price);
item.set('time', src.time);
found = true;
break;
}
} // endfor
if(!found)
{
// add in new item
}
} // endfor
//this.dataSource.sync();
console.log('changed ' + this.dataSource.hasChanges() );
}
The data source does see that the data has changed, but it just does a quick set with no transition/animation from current condition to the new condition.