Currently I read the data needed for the ComboBox like:
$(domNode).kendoComboBox({
dataSource: {
transport: {
read: function(options) {
setReadOptions && setReadOptions(options);
const filters = that.getDataSourceData(options.data);
const serviceUrl = `${trackUrl.includes('?') ? trackUrl + '&' : trackUrl+'?'}${that.encodeData(filters)}`;
ajax.get<any>(serviceUrl)
.then((returnObj) => {
let comboBoxOptions = returnObj;
if (filterOptions) {
comboBoxOptions = filterOptions(returnObj);
}
options.success(comboBoxOptions);
}).fail(() => {
options.error("Could not retrive data for selected document Id.");
})
},
prefix: ''
},
. . . . .
Now there is the possibility of the url that is used could change. Based on that changed url I would like to set new options with a call to something like I do for when the ajax method returns
if (filterOptions) {
comboBoxOptions = filterOptions(returnObj);
}
options.success(comboBoxOptions);
I know I can refresh the comboBox with something like
this.comboBox.dataSource.read()
But I don't know how to also affect the options for the comboBox?
Kevin

How do I remove rows? Currently I do something like:
e.workbook.sheets.forEach(function (sheet) {
sheet.rows = sheet.rows.filter(r => r.type != "group-header");
});
e.sender.saveAsExcel();
But it seems that the saveAsExcel() function is ignoring the rows that I have filtered out?
I've got a bunch of methods client-side that build up a list of all the filters to apply to a grid. However, I'm told it is possible to pass this list over to the server in order to have better control over the filters? In my case, I am trying to create a filter that looks like this:
`(cond || cond || cond) && cond`
I've noticed that Kendo seems to only support cases where it is `cond || cond` or `cond && cond`. Unless there is a way to make the above condition work, how can I pass my filters to the server and the `DataSourceRequest` in order to have that further control?

Hi,
I am new to using KendoUI and am sorry if this has been answered before but I cannot seem to find an answer that works for me. I have a search button and a grid on the page. I am taking to d.3 in the backend (a DMS system) using library calls. The user enters s/he search query in the field and I call the Read method in my Controller to get the data from d.3. What is happening is that I am getting the data back in the request but the grid is not updating.
Here is my MVC code:
@(Html.Kendo()
.Grid(Model)
.Name("grid")
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Read(r => r.Action("Read", "Search"))
)
.Filterable(f => f.Mode(GridFilterMode.Row))
.Columns(columns =>
{
{
columns.Bound(c => c.DocumentType)
.Filterable(false)
.Width("150px")
.Title(@Localizer["SearchTableHeaderDocumentType"]);
columns.Bound(c => c.DocumentTypeLong)
.Filterable(true)
.Title(@Localizer["SearchTableHeaderDocumentTitle"])
.Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").SuggestionOperator(FilterType.Contains)));
})
)
I have a button on the page that does the submit using the following code:
var search = $("#search-field").val();
if (!search) return;
if (search.trim() === "") return;
var dataSource = $("#grid").data("kendoGrid").dataSource;
var parameters = {
searchFor: search
}
// call the search passing the parameters -> searchFor is the parameter name on the SearchController/Read method
dataSource.read(parameters);
This calls my Read method in the SearchController.cs. The Search method creates the data that is supposed to be passed back to the Grid:
// setup your result for KendoUI
DataSourceResult result = model.Entries.ToDataSourceResult(request);
// return
return Json(result);
I also see the data structure in the response if I check the event after the RequestEnd:
.Events(events => events.RequestEnd("onRequestEnd"))
or if I check the response in Chrome - this is what I get:
+0Object {DocumentId: "GD00000016", DocumentType: "D3CHG", DocumentTypeLong: "D.3 :: Fehler/Request", …}Object
+1Object {DocumentId: "GD00000148", DocumentType: "DEPSU", DocumentTypeLong: "Abteilung :: Leitung", …}Object
+2Object {DocumentId: "GD00000149", DocumentType: "DEPSU", DocumentTypeLong: "Abteilung :: Leitung", …}Object
+3Object {DocumentId: "GD00000150", DocumentType: "DEPSU", DocumentTypeLong: "Abteilung :: Leitung", …}Object
+4Object {DocumentId: "GD00000266", DocumentType: "IDOCU", DocumentTypeLong: "Infrastruktur :: Handbuch", …}Object
+5Object {DocumentId: "GD00000267", DocumentType: "IDOCU", DocumentTypeLong: "Infrastruktur :: Handbuch", …}Object
+6Object {DocumentId: "GD00000268", DocumentType: "IDOCU", DocumentTypeLong: "Infrastruktur :: Handbuch", …}Object
+7Object {DocumentId: "GD00000269", DocumentType: "CKNOW", DocumentTypeLong: "Global :: Wissen", …}Object
+8Object {DocumentId: "GD00000277", DocumentType: "IDOCU", DocumentTypeLong: "Infrastruktur :: Handbuch", …}Object
very odd.
Maybe this helps: If I return dummy data from the Index method (I am currently returning an empty list => return View(new List<SearchEntryModel>());) before using the Read method from the grid everything magically works (except that the number of entries is limited to the return from the Index method).
Sorry about the weird explanation but I don't know how to better explain it.
Thank you in advance
Martin

c.Bound(g => g.LastUpdated).Format("{0:MM/dd/yyyy hh:mm tt}")
Hi
I have based the following code on Grid / Custom command
https://demos.telerik.com/aspnet-mvc/grid/custom-command
@(Html.Kendo().Grid<MyProject.Models.Profiles>(). Name("MyTable"). Columns(columns => { columns.Command(command => { command.Custom("Edit Details").Click("EditDetails"); }).Width(120); }) .HtmlAttributes(new { style = "height: 600px" }) .BindTo(Model) .Scrollable() .Groupable() .Sortable() .Filterable())<script> function EditDetails(e) { e.preventDefault(); }</script>When I run the code I get the following error in the Developer Console(Edge & Chrome)
Uncaught ReferenceError: EditDetails is not defined
I have been unable to find the problem, any suggestions?
Is there a way that i can call a controller method without going through javascript?
Thanks
Hello,
I have this autocomplete in my view :
@(Html.Kendo().AutoComplete() .Name("description.EmplacementEquipementAutreSpecifier") .DataTextField("EmplacementEquipementAutreSpecifier") .Filter("contains") .MinLength(3) .HtmlAttributes(new { style = "width:100%;", @class = "form-control" }) .DataSource(source => { source .Read(read => { read.Action("GetEmplacementEquipementAutreSpecifier", "Description"); }) .ServerFiltering(false); }) .Value(Model.description.EmplacementEquipementAutreSpecifier) .Events(e => e.Filtering("OnChangeNoEmplacementEquipement").Close("OnChangeNoEmplacementEquipement")))And need to apply a Bootstrap style (class="form-control"). See result in attachment.
When I remove some style I can see the reason of the missing bottom blue border. The input box seem a bit lower compare to the thing that make the blue border.
Any suggestion to correct this issue? Css probably.