Good evening, i'm trying KendoUI and i have to say it is really amazing! So, first, i'd like to thank you for your excellent work.
As the title says, i'm developing a server-side cakephp application, and i'm using kendoGrid for client-side "presentation layer".
My issue comes when i try to make CRUD operations. By the way, reading is ok, i can read the json data and show it up without problems. My problems start when trying to update (haven't tried to create/delete yet, so it doesn't matter right now).
The JSON response y get from my controller have this structure:
And my kendoGrid is initiallized like this:
With the code just like i just show you, i get no data posted to server-side. I see that with firebug and debuging my php code.
Here's an screenshot-> Update Error 1
If i don't set parametermap, i get an error message from kendo.all.js -> Update Error 2
In this same situation, if i click on "Add new record" i got this error -> Create Error 1
So, i understand the problem is setting the parametermap property, so i have to define it, but i don't know how to do it, to make it work with CakePHP.
I really appreciate your help.
Thank you very much in advance!
As the title says, i'm developing a server-side cakephp application, and i'm using kendoGrid for client-side "presentation layer".
My issue comes when i try to make CRUD operations. By the way, reading is ok, i can read the json data and show it up without problems. My problems start when trying to update (haven't tried to create/delete yet, so it doesn't matter right now).
The JSON response y get from my controller have this structure:
[{"Microcampamento":{"id":"-1","mc_nombre":ninguno)",
"mc_calle_nombre":"","mc_calle_numero":"0","mc_comuna":"0","mc_anoest":"0000","mc_int_inicio":"0000-00-00","mc_int_fin":"0000-00-00","idfase":"0","mc_email_equipo":"nl","mc_comollegar":"null","mc_rasofac":"null","mc_bbdd":"null"}},{"Microcampamento":{"id":"1","mc_nombre":"4 Canchas","mc_calle_nombre":"Calle diecinueve","mc_calle_numero":"1118","mc_comuna":"118","mc_anoest":"2003","mc_int_inicio":"2010-01-01","mc_int_fin":"0000-00-00","idfase":"4","mc_email_equipo":"cnovoa@segen.cl","mc_comollegar":"null","mc_rasofac":"null","mc_bbdd":"null"}},
{"Microcampamento":{"id" ....and the other fields......}}]
ds=new kendo.data.DataSource({
transport:{
read:{
url:"/FTC/microcampamentos/crud",
dataType: "json",
complete: function(jqXHR, textStatus) {
console.log(textStatus, "read") }
}
},
update:{
url: "/FTC/microcampamentos/crud",
type: "POST",
complete: function(jqXHR, textStatus) {
console.log(textStatus, "update")
}
},
parameterMap: function(options, operation) {
},
change: function(){
console.log("Something happened!")
},
error: function() {
alert("Ha ocurrido un error al intentar conectar con la base de datos.");
},
schema: {
model:{
id:"Microcampamento.id",
fields:{
'Microcampamento.id': {editable:false},
'Microcampamento.mc_nombre': {editable:true},
'Microcampamento.mc_calle_nombre': {editable:true},
'Microcampamento.mc_calle_numero': {editable:true},
'Microcampamento.mc_comuna': {editable:true},
'Microcampamento.mc_anoest': {editable:true},
'Microcampamento.mc_int_inicio': {editable:true},
'Microcampamento.mc_int_fin': {editable:true},
'Microcampamento.idfase': {editable:true},
'Microcampamento.mc_email_equipo': {editable:true},
'Microcampamento.mc_comollegar': {editable:true},
'Microcampamento.mc_rasofac': {editable:true},
'Microcampamento.mc_bbdd': {editable:true}
}
}
},
pageSize:10
});
And my kendoGrid is initiallized like this:
$(document).ready(function(){
//KendoGrid para Microcampamentos
$("#mc_grid").kendoGrid({
dataSource:ds,
height: 370,
scrollable:false,
sortable: true,
pageable: true,
editable: true,
navigatable: true,
toolbar: ["create", "save", "cancel","destroy"],
columns: [
{field: "Microcampamento.id", title: "ID"},
{field: "Microcampamento.mc_nombre", title: "Nombre"},
{field: "Microcampamento.mc_calle_nombre", title: "Calle"},
{field: "Microcampamento.mc_calle_numero", title: "Número"},
{field: "Microcampamento.mc_comuna", title: "Comuna"},
{field: "Microcampamento.mc_anoest", title: "Año Est."},
{field: "Microcampamento.mc_int_inicio", title: "Inicio Interv."},
{field: "Microcampamento.mc_int_fin", title: "Fin Interv."},
{field: "Microcampamento.idfase", title: "Fase", width: '100px'},
{field: "Microcampamento.mc_email_equipo", title: "Email Equipo"},
{field: "Microcampamento.mc_comollegar", title: "Cómo Llegar", template:'<
a
href
=
""
>IR</
a
>'},
{field: "Microcampamento.mc_rasofac", title: "Rasofac"},
{field: "Microcampamento.mc_bbdd", title: "BBDD"}
]
})
});
With the code just like i just show you, i get no data posted to server-side. I see that with firebug and debuging my php code.
Here's an screenshot-> Update Error 1
If i don't set parametermap, i get an error message from kendo.all.js -> Update Error 2
In this same situation, if i click on "Add new record" i got this error -> Create Error 1
So, i understand the problem is setting the parametermap property, so i have to define it, but i don't know how to do it, to make it work with CakePHP.
I really appreciate your help.
Thank you very much in advance!