Hey there, I am reviewing the functionality of the AutoComplete and have a question on how the filtering works for the remote datasource. I want to use it to pull a list of contacts. Kendo Example: http://demos.telerik.com/kendo-ui/autocomplete/serverfiltering
However I don't understand how the remote datasource connection works. All of the examples point to a service that pull a list but I don't see where they send the search filter criteria to the server?
For example I would expect the service call to be something like: \Controller\Action\myFilterString (Or sending data in the body of an ajax call)
So that leads me to believe that the autocomplete pulls the entire list, and then does all filtering client side. Which is probably great in most cases, but when the dataset gets very large does it hurt performance or use too much memory? Does anyone have any experience with larger datasets?
In my case my User list is currently 3500 records, but I expect that to probably double in about a year.
If anyone wants to share there thoughts on best practices with large datasets, please chime in. (IE when is a large dataset considered TOO large to pull the entire list?)
Thank You!
Hi,
I´ve a pie chart with two data,
I need just one of the data labels in the center of the chart,
I´m trying to using the visual property with kendo.drawing.Text
labels: {visual: function (e) { var x = 0; var y = 0; return new kendo.drawing.Text("65.99 %", [x, y], { font: "4em 'Open Sans', sans-serif", fill: { color: "red" } }); }}
but I don´t know how I can calculate the center of the char, because I need the size of the main div.
Thanks,
Jose
Hi
We have a stock chart with many data points and a navigator panel. The dataseries is a boxplot type. When the chart is rendered it starts totally zoomed out. There is some magic aggregation happening, which can't really be a 100% correct boxplot.
What i actually want to accomplish to render the chart totally zoomed in and show only the last view boxplots which are comming raw from the backend (100% zoomed).
Is there an option where i can start 100% zoomed in? And best case would be to totally disable the "zoom out" option. So i am only able to move the navigator selection to the left or right.
Is there a way to conditionally enable/disable the Add new Record command?
We have a scenario where users are allowed to add a record only if a specific pre-requisite criteria is met which can be checked from the back end
Hello all,
I'm trying to interface with some rather antiquated technology, and thus far have been successful. My back-end is RM/COBOL 11. I have a custom library which I pass values in an array to the COBOL programs in which they return an array via delegates.These are passed as Collections via a Web API in ASP.Net 5 using the repository pattern, no IQuerryable. This has worked well for me so far, until i got to detail grids and I'm looking for some direction or options. I am somewhat new to Angular and Kendo UI.
The issue at hand is when I set the datasource on my detail grid everything is fine for single row expansion. But once i bind the next expanded column all prior (still) expanded rows then reflect the calling rows data. I know this is due to way my data is bound to a JSON array and its replaced on the subsequent calls, but my question would be is whats the best way to retain a specific rows data that belongs to it without a query-able datasource? or is my only option to only allow single row expansion? If so can someone point in the right direction on collapsing each prior expanded row before expanding the next?
The detail grid (Party) is looked via the instrument number column value in the main grid. The data in the second expanded party detail overwrites the original data the first expanded row had in it.
Angular Datacontext service
function getParty(instrument) { return $http({ url: '/api/app/getparty', method: 'GET', params: { instrument: instrument } }) .then(success) .catch(fail) function success(response) { return response.data; } function fail(e) { return exception.catcher("XHR Failed for getParty"); } }Angular Controller (controller as vm syntax)
vm.detailPartyDataSource = []; vm.detailPartyOptions = function (dataItem) { return { dataSource: { data: datacontext.getParty(dataItem.documentInstrument).then(function(data){return vm.detailPartyDataSource = data}), type: "json" }, scrollable: false, sortable: true, columns: [ { field: "name", title: "Name" }, { field: "nameType", title: "Name Type" }, { field: "bookPage", title: "Book & Page" }, { field: "docType", title: "Document Type" }, { field: "date", title: "Date" }, { field: "indexed", title: "Indexed" } ] }; };Hi there
I have a div with an absolute position, that contains an image element that's overlayed on top of the .k-dropzone div (by using a higher z-index). When a file is dropped onto the image in Google Chrome, the browser thinks you want to copy the file, so the upload doesn't work. How can I get the upload to trigger when the file is dropped onto the image? It works when a file is dropped onto any other part of the k-dropzone.
HTML:
<div class="logoUpload k-content">
<div style="float:left;">
<img id="logo" style="width: 80px; height: 80px; float:left;"
alt="loading" />
</div>
<input name="files" id="files" type="file" data-show-file-list="false" style="float:right; width: 50px !important;" />
</div>
<div id="minLogoText">gif, png or jpeg - min 128px x 128px</div>
<script>
$(document).ready(function () {
$("#files").kendoUpload({ .....
.......
</script>
CSS:
.logoUpload {
position: relative;
margin-top: 7px;
}
#logo {
position: absolute;
left: 35px;
top: 30px;
z-index: 1;
}
Hi,
I created simple grid with two columns - 25% and 75%.
Then i try to resize first column to be narrower. On Chrome there is no problem. On IE there is problem with cursor alignment to columns separator, you can check it on this screencast:
http://screencast.com/t/zEqfCjK0
Cursor is moved to left from the column separator. Is this a known issue?
Radosław Maziarka
Hi
I'm using the async uploader, and I'm executing this function on the 'upload' event of the Kendo UI Upload widget. The function validates the file size for a single file. I'm displaying a custom div to present the error message when the file size exceeds the specified limit, and I want to also display the k-warning icon, but at the point when I execute the function, no DOM element has been added for the k-upload-status. Is my only option to manually create an element with a class of .k-warning? It feels like the right way to do this is to somehow trigger the k-upload-status - can I do that?
function onUpload(e) {
$("#logoUploadErrorMessage").hide();
$(".k-icon.k-warning").hide();
var files = e.files;
if (files[0].size > 4 * 1024 * 1024) {
$(".k-icon.k-warning").show();
$("#logoUploadErrorMessage").text("Max logo size 4mb");
$("#logoUploadErrorMessage").show();
e.preventDefault(); // This cancels the upload for the file
}
}
I am trying to apply dynamic methods to creating a grid.
In particular, I want to dynamically create the dropdownlist function.
The stand-alone script I am using for testing this scenario is given below:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<meta name="" content="">
<link href="http://cdn.kendostatic.com/2013.3.1119/styles/kendo.common.min.css" rel="stylesheet" />
<link href="http://cdn.kendostatic.com/2013.3.1119/styles/kendo.silver.min.css" rel="stylesheet" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://cdn.kendostatic.com/2013.3.1119/js/kendo.all.min.js"></script>
<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
<script>
$(document).ready(function ()
{
var dropdownlist = [{"value":"jm34_assets","display":"jm34_assets"},{"value":"jm34_associations","display":"jm34_associations"},{"value":"jm34_banner_clients","display":"jm34_banner_clients"},{"value":"jm34_banner_tracks","display":"jm34_banner_tracks"},{"value":"jm34_banners","display":"jm34_banners"},{"value":"jm34_categories","display":"jm34_categories"},{"value":"jm34_contact_details","display":"jm34_contact_details"},{"value":"jm34_content","display":"jm34_content"},{"value":"jm34_content_frontpage","display":"jm34_content_frontpage"},{"value":"jm34_content_rating","display":"jm34_content_rating"},{"value":"jm34_content_types","display":"jm34_content_types"},{"value":"jm34_contentitem_tag_map","display":"jm34_contentitem_tag_map"},{"value":"jm34_core_log_searches","display":"jm34_core_log_searches"},{"value":"jm34_countries","display":"jm34_countries"},{"value":"jm34_customers","display":"jm34_customers"},{"value":"jm34_employees","display":"jm34_employees"},{"value":"jm34_extensions","display":"jm34_extensions"},{"value":"jm34_finder_filters","display":"jm34_finder_filters"},{"value":"jm34_finder_links","display":"jm34_finder_links"},{"value":"jm34_finder_links_terms0","display":"jm34_finder_links_terms0"},{"value":"jm34_finder_links_terms1","display":"jm34_finder_links_terms1"},{"value":"jm34_finder_links_terms2","display":"jm34_finder_links_terms2"},{"value":"jm34_finder_links_terms3","display":"jm34_finder_links_terms3"},{"value":"jm34_finder_links_terms4","display":"jm34_finder_links_terms4"},{"value":"jm34_finder_links_terms5","display":"jm34_finder_links_terms5"},{"value":"jm34_finder_links_terms6","display":"jm34_finder_links_terms6"},{"value":"jm34_finder_links_terms7","display":"jm34_finder_links_terms7"},{"value":"jm34_finder_links_terms8","display":"jm34_finder_links_terms8"},{"value":"jm34_finder_links_terms9","display":"jm34_finder_links_terms9"},{"value":"jm34_finder_links_termsa","display":"jm34_finder_links_termsa"},{"value":"jm34_finder_links_termsb","display":"jm34_finder_links_termsb"},{"value":"jm34_finder_links_termsc","display":"jm34_finder_links_termsc"},{"value":"jm34_finder_links_termsd","display":"jm34_finder_links_termsd"},{"value":"jm34_finder_links_termse","display":"jm34_finder_links_termse"},{"value":"jm34_finder_links_termsf","display":"jm34_finder_links_termsf"},{"value":"jm34_finder_taxonomy","display":"jm34_finder_taxonomy"},{"value":"jm34_finder_taxonomy_map","display":"jm34_finder_taxonomy_map"},{"value":"jm34_finder_terms","display":"jm34_finder_terms"},{"value":"jm34_finder_terms_common","display":"jm34_finder_terms_common"},{"value":"jm34_finder_tokens","display":"jm34_finder_tokens"},{"value":"jm34_finder_tokens_aggregate","display":"jm34_finder_tokens_aggregate"},{"value":"jm34_finder_types","display":"jm34_finder_types"},{"value":"jm34_helloworld","display":"jm34_helloworld"},{"value":"jm34_jacc","display":"jm34_jacc"},{"value":"jm34_jacc_modules","display":"jm34_jacc_modules"},{"value":"jm34_jacc_packages","display":"jm34_jacc_packages"},{"value":"jm34_jacc_plugins","display":"jm34_jacc_plugins"},{"value":"jm34_jacc_templates","display":"jm34_jacc_templates"},{"value":"jm34_languages","display":"jm34_languages"},{"value":"jm34_menu","display":"jm34_menu"},{"value":"jm34_menu_types","display":"jm34_menu_types"},{"value":"jm34_messages","display":"jm34_messages"},{"value":"jm34_messages_cfg","display":"jm34_messages_cfg"},{"value":"jm34_modules","display":"jm34_modules"},{"value":"jm34_modules_menu","display":"jm34_modules_menu"},{"value":"jm34_mvt_easy","display":"jm34_mvt_easy"},{"value":"jm34_mvt_jacc","display":"jm34_mvt_jacc"},{"value":"jm34_newsfeeds","display":"jm34_newsfeeds"},{"value":"jm34_orders","display":"jm34_orders"},{"value":"jm34_overrider","display":"jm34_overrider"},{"value":"jm34_postinstall_messages","display":"jm34_postinstall_messages"},{"value":"jm34_redirect_links","display":"jm34_redirect_links"},{"value":"jm34_reu_pkl_as_01","display":"jm34_reu_pkl_as_01"},{"value":"jm34_reu_pkl_de_01","display":"jm34_reu_pkl_de_01"},{"value":"jm34_reu_pkl_ma_01","display":"jm34_reu_pkl_ma_01"},{"value":"jm34_reu_pkl_pa_01","display":"jm34_reu_pkl_pa_01"},{"value":"jm34_reu_tmn_as_01","display":"jm34_reu_tmn_as_01"},{"value":"jm34_reu_tmn_as_02","display":"jm34_reu_tmn_as_02"},{"value":"jm34_reu_tmn_de_01","display":"jm34_reu_tmn_de_01"},{"value":"jm34_reu_tmn_de_02","display":"jm34_reu_tmn_de_02"},{"value":"jm34_reu_tmn_ma_01","display":"jm34_reu_tmn_ma_01"},{"value":"jm34_reu_tmn_ma_02","display":"jm34_reu_tmn_ma_02"},{"value":"jm34_reu_tmn_pa_01","display":"jm34_reu_tmn_pa_01"},{"value":"jm34_schemas","display":"jm34_schemas"},{"value":"jm34_scn_iss_as_01","display":"jm34_scn_iss_as_01"},{"value":"jm34_scn_iss_as_02","display":"jm34_scn_iss_as_02"},{"value":"jm34_scn_iss_as_03","display":"jm34_scn_iss_as_03"},{"value":"jm34_scn_iss_de_01","display":"jm34_scn_iss_de_01"},{"value":"jm34_scn_iss_de_02","display":"jm34_scn_iss_de_02"},{"value":"jm34_scn_iss_de_03","display":"jm34_scn_iss_de_03"},{"value":"jm34_scn_iss_ma_01","display":"jm34_scn_iss_ma_01"},{"value":"jm34_scn_org_ma_01","display":"jm34_scn_org_ma_01"},{"value":"jm34_scn_org_pa_01","display":"jm34_scn_org_pa_01"},{"value":"jm34_scn_ref_ma_01","display":"jm34_scn_ref_ma_01"},{"value":"jm34_session","display":"jm34_session"},{"value":"jm34_tags","display":"jm34_tags"},{"value":"jm34_template_styles","display":"jm34_template_styles"},{"value":"jm34_ucm_base","display":"jm34_ucm_base"},{"value":"jm34_ucm_content","display":"jm34_ucm_content"},{"value":"jm34_ucm_history","display":"jm34_ucm_history"},{"value":"jm34_update_sites","display":"jm34_update_sites"},{"value":"jm34_update_sites_extensions","display":"jm34_update_sites_extensions"},{"value":"jm34_updates","display":"jm34_updates"},{"value":"jm34_user_keys","display":"jm34_user_keys"},{"value":"jm34_user_notes","display":"jm34_user_notes"},{"value":"jm34_user_profiles","display":"jm34_user_profiles"},{"value":"jm34_user_usergroup_map","display":"jm34_user_usergroup_map"},{"value":"jm34_usergroups","display":"jm34_usergroups"},{"value":"jm34_users","display":"jm34_users"},{"value":"jm34_viewlevels","display":"jm34_viewlevels"}];
var params = {"height":145,"resizable":true,"sortable":true,"filterable":false,"editable":true,"groupable":false};
var columns = [{"field":"id_instance","title":"ID Instance","width":101,"editable":false},{"field":"reference","title":" Table Reference","width":200,"editable":true},{"field":"nameoftable","title":"Table Name","width":150,"editable":true},{"field":"groupnamelist","title":"Groupname List","width":100,"editable":true},{"field":"groupingselected","title":"Grouping Selected?","width":100,"editable":true}];
var rows = [
{"id_instance":"1","reference":{"value":"jm34_reu_tmn_pa_01","display":"jm34_reu_tmn_pa_01"},"nameoftable":"tablenames","groupnamelist":"Y","groupingselected":"1"},
{"id_instance":"2","reference":{"value":"jm34_reu_tmn_ma_01","display":"jm34_reu_tmn_ma_01"},"nameoftable":"columnnames","groupnamelist":"Y","groupingselected":"1"},
{"id_instance":"3","reference":{"value":"jm34_reu_tmn_de_01","display":"jm34_reu_tmn_de_01"},"nameoftable":"columndetails","groupnamelist":"","groupingselected":"1"},
{"id_instance":"4","reference":{"value":"jm34_reu_tmn_as_01","display":"jm34_reu_tmn_as_01"},"nameoftable":"composite view","groupnamelist":"","groupingselected":"1"}];
var ds = new kendo.data.DataSource({data: rows});
var dsJMTables = new kendo.data.DataSource({data: dropdownlist});
var typeDropDownEditor = function (container, options)
{
$('<input required data-text-field="display" data-value-field="value" data-bind="value:' + options.field + '"/>')
.appendTo(container)
.kendoComboBox({
autoBind: false,
dataSource: dsJMTables
});
}
var currentScript = '$(\'<input required data-text-field="display" data-value-field="value" data-bind="value:\' + options.field + \'"/>\').appendTo(container).kendoComboBox({autoBind: false,dataSource: dsJMTables});';
var newtypeDropDownEditor = new Function('container', 'options', currentScript);
columns[1]['editor'] = typeDropDownEditor;
columns[1]['template'] = "#=reference.value#";
$("#grid").kendoGrid({
dataSource: ds,
height: params['height'],
scrollable: true,
sortable: params['sortable'],
filterable: params['filterable'],
resizable: params['resizable'],
groupable: params['groupable'],
editable: params['editable'],
columns: columns
});
});
</script>
</head>
<body>
<div id="example">
<div id="grid"></div>
</div>
</body>
</html>
If the above script is executed - the dropdown entries will show up correctly.
If I try to create the typeDropDownEditor function dynamically using the following script (for creating dynamically a function)
var currentScript = '$(\'<input required data-text-field="display" data-value-field="value" data-bind="value:\' + options.field + \'"/>\').appendTo(container).kendoComboBox({autoBind: false,dataSource: dsJMTables});';
var newtypeDropDownEditor = new Function('container', 'options', currentScript);
and then assign the new function to the column, as below:
columns[1]['editor'] = newtypeDropDownEditor;
The dropdown list no longer appears - text entry only is possible.
I have tried every means possible to try and figure out what the problem is - but to no avail.
I have looked at the contents of the created functions (i.e. using alert), and the contents of the static function and dynamic function are identical.
So - what to do?
Any help on this matter will be really appreciated!
Alastair
