@(Html.Kendo().DropDownListFor(model => model.CarModel))
And all the other 'For' extensions.
Thanks
Pat
Hi,
I am using the latest version of Kendo UI i.e. 2017.3.921. I am trying to include in my solution the kendo-pivot but it seems that some of the features are not working:
1. The configuration option sortable enables the "Sort Ascending / Descending" options in the pivot grid BUT when clicked they do nothing. I tried in local binding demo and added the sortable: true just below the filterable property, and it does not work. I tied the same in the documentation of the sortable configuration setting but the dojo example does nothing
2. I have a kendo-pivot bound to a datasource with remote data of json type. I perform a read operation, the kendo pivot as well as the kendo configurator is populated with data. The pivot has only one Row dimension and no column fields (one measure, only). Should I expand the Row dimension to all its values and force a requery i.e. datasource.read() again the read function of the transport definition is execute OK BUT the statement options.sucess fails with the exception "cannot read property value of undefined"
function
preparePivotDS(espqParams, esOptions) {
var
qParams = angular.isFunction(espqParams) ? espqParams() : espqParams;
var
xParam = {
transport: {
requestEnd:
function
(e) {
var
response = e.response;
var
type = e.type;
console.log(type);
// displays "read"
console.log(response.length);
// displays "77"
},
read:
function
(options) {
var
pqOptions = {};
var
executeParams = qParams.Params;
if
(executeParams
instanceof
esGlobals.ESParamValues) {
if
(!executeParams.isValidState()) {
var
err =
new
Error($translate.instant(
"ESUI.PQ.PARAMS_MISSING"
));
options.error(err);
throw
err;
}
executeParams = executeParams.getExecuteVals();
}
esWebApiService.fetchPublicQuery(qParams.GroupID, qParams.FilterID, pqOptions, executeParams)
.then(
function
(pq) {
pq = pq.data;
options.success(pq.Rows || []);
})
.
catch
(
function
(err) {
$log.error(
"Error in DataSource "
, err);
options.error(err);
});
},
}
};
if
(esOptions) {
angular.extend(xParam, esOptions);
}
return
new
kendo.data.PivotDataSource(xParam);
}
save:
function
(e) {
var
focusedCellIndex =
this
.current()[0].cellIndex;
//gets the cell index of the currently focused cell
//...some dataItem saving (dataItem.set()) logic...
this
.refresh();
//refreshing the grid instance
setTimeout(
function
() {
//refocusing the cell
return
function
() {
var
focusedCell = $(
"#grid tr[data-uid='"
+ dataItem.uid +
"'] td:nth-child("
+ (focusedCellIndex + 1) +
")"
);
$(
'#grid'
).data(
'kendoGrid'
).editCell(focusedCell);
}
}(), 200);
}
https://dojo.telerik.com/aDalAvav/3
Dear sirs, the architecture requires to call "doc.subdoc" field by it's name.
So I have troubles formatting the dates to my localdate, as you can see the example.
Please, help.
Thank you.
i want to change the labels/button labels,view names and other texts in scheduler to a given language. And as you have mentioned in your posts i set a culture for my scheduler
This is how i did it.
eg: kendo.culture('zh-CN');
will this be enough?? Do i have to create the localization file too. If so is there ay proper place to find these localization files and where should i store the file?
I'm having an odd problem with my KendoUI grid using Odata-V4. I have a foreign key lookup, and if I have a value in the lookup field, I can update it just fine- I get an indicator that the field is dirty and it's updated when I save the grid. However, if there is no value when I load the item, I can choose an item in the dropdown but the selection isn't saved- the grid shows a blank value when I focus away from the foreign key dropdown and I can't save the grid; if I change another value and save it, the FK dropdown didn't set the value in the object. I'm hoping someone's run into this before? Thanks so much for any input.
var dataSource = new kendo.data.DataSource({
type: "odata-v4",
transport: {
read: {
xhrFields: { withCredentials: true },
url: "/odata/ProvisionalAppointments"
},
update: {
xhrFields: { withCredentials: true },
url: function (data) {
return "/odata/ProvisionalAppointments(" + data.Id + ")";
}
}
},
schema: {
model: {
id: "Id",
fields: {
Id: {type: "number" },
CustomerFirstName: { type: "string", editable: false },
CustomerLastName: { type: "string", editable: false },
CustomerPhoneNumber: { type: "string", editable: false },
FromDate: { type: "date", editable: false },
ToDate: { type: "date", editable: false },
ServiceId: { type: "number" },
LocationId: { type: "number" },
EmployeeId: { type: "number" },
IsApproved: { type: "bool" }
}
}
},
pageSize: 5,
serverPaging: true,
serverFiltering: true,
serverSorting: true
});
var servicesDataSource = new kendo.data.DataSource({
type: "odata-v4",
transport: {
read: {
xhrFields: { withCredentials: true },
url: "/odata/Services"
}
},
schema: {
model:
{
id: "Id",
fields:
{
Id: {
editable: false
},
Name: {
type: "string"
}
}
}
},
pageSize: 20,
serverPaging: true,
serverFiltering: true,
serverSorting: true
});
$("#grid").kendoGrid({
dataSource: dataSource,
toolbar: ["save", "cancel", "excel", "pdf"],
excel: {
allPages: true,
filterable: true
},
pdf: {
allPages: true
},
sortable: { mode: "multiple" },
pageable: {
pageSizes: [5, 10, 20, 50]
},
editable: true,
reordable: true,
resizable: true,
columns: [
{ field: "CustomerFirstName", title: "First Name" },
{ field: "CustomerLastName", title: "Last Name" },
{ field: "CustomerPhoneNumber", title: "Phone" },
{ field: "FromDate", title: "When", template: '#= kendo.toString(kendo.parseDate(FromDate), "M-d h:mm tt")#-#= kendo.toString(kendo.parseDate(ToDate), "h:mm tt")#' },
{ field: "ServiceId", title: "Service", dataTextField: "Name", dataValueField: "Id", dataSource: locationsDataSource },
{ field: "LocationId", title: "Location", dataTextField: "Name", dataValueField: "Id", dataSource: locationsDataSource },
{ field: "EmployeeId", title: "Employee", dataTextField: "Name", dataValueField: "Id", dataSource: employeesDataSource },
{
command: [{ name: "approve", template: "<a class='k-button k-grid-approve approve'><span class='k-icon k-i-check-outline'></span>Approve</a>", visible: function (dataItem) { return dataItem.IsApproved === null; }, click: approveAppointment },
{ name: "revokeApproval", template: "<a class='k-button k-grid-revokeApproval approved'><span class='k-icon k-i-check-circle'></span>Undo Approval</a>", visible: function (dataItem) { return dataItem.IsApproved === true; }, click: revokeApproveAppointment },
{ name: "reject", template: "<a class='k-button k-grid-reject reject'><span class='k-icon k-i-cancel'></span>Reject</a>", visible: function (dataItem) { return dataItem.IsApproved === null; }, click: rejectAppointment },
{ name: "revokeRejection", template: "<a class='k-button k-grid-revokeRejection rejected'><span class='k-icon k-i-cancel-circle'></span>Undo Rejection</a>", visible: function (dataItem) { return dataItem.IsApproved === false; }, click: revokeApproveAppointment }
], width: "275px"
}
],
allowCopy: {
delimeter: ","
},
mobile: true,
navigatable: true
});