Kendo source de données de Paramètre de la Carte
Je suis nouveau sur le kendo. Je vais avoir un problème avec la liaison de modèle. Quand je debug avec firebug, il montre options.modèles est undefined. La raison pour laquelle, le "si" condition dans parrameterMap est toujours faux et de la grille de ne pas remplir les données. Mais quand j'enlève le parrameterMap partie, il fonctionne.
Je pense, c'est très utile si quelqu'un peut expliquer à propos de la paramètre de la carte de kendo de la source de données.
Je vous remercie.
function GetDataSource() {
var PrjKy = $("#cmbPrjNm").val();
if (PrjKy == "") { PrjKy = 1; }
var PrcsDetKy = 1;
if (PrcsDetKy == "") { PrcsDetKy = 1; }
var PrcsTypKy = $("#toDotype").val();
if (PrcsTypKy == "") { PrcsTypKy = 1; }
var AprPrtyKy = $("#cmbPiority").val();
if (AprPrtyKy == "") { AprPrtyKy = 1; }
var AprStsKy = $("#status").val();
if (AprStsKy == "") { AprStsKy = 1; }
var OrginAdrKy = 1;
if (OrginAdrKy == "") { OrginAdrKy = 1; }
var AprUsrKy = 1;
if (AprUsrKy == "") { AprUsrKy = 1; }
var NxtActByAdrKy = $("#cmbEmployee").val();
if (NxtActByAdrKy == "") { NxtActByAdrKy = 1; }
var FrmNxtActEntDt = $("#FrmNextActEnt").val();
var ToNxtActEntDt = $("#ToNextActEnt").val();
var FrmNxtActDt = $("#rcdDt").val();
var ToNxtActDt = $("#toDt").val();
var FrmInsertDt = $("#insrtDt").val();
var ToInsertDt = $("#InsrtToDt").val();
var dataSource = new kendo.data.DataSource({
transport: {
read: {
url: '@Url.Content("~/User/GetAllToDo")',
data: {
'PrjKy': PrjKy,
'PrcsDetKy': PrcsDetKy,
'PrcsTypKy': PrcsTypKy,
'AprPrtyKy': AprPrtyKy,
'AprStsKy': AprStsKy,
'OrginAdrKy': OrginAdrKy,
'AprUsrKy': AprUsrKy,
'NxtActByAdrKy': NxtActByAdrKy,
'FrmNxtActEntDt': FrmNxtActEntDt,
'ToNxtActEntDt': ToNxtActEntDt,
'FrmNxtActDt': FrmNxtActDt, //changed on 2013-8-30
'ToNxtActDt': ToNxtActDt, //changed on 2013-8-30
'FrmInsertDt': FrmInsertDt, //changed on 2013-8-30
'ToInsertDt': ToInsertDt//changed on 2013-8-30
},
dataType: "json"
},
update: {
url: "~/Home/UpdateToDo",
contentType: 'application/json; charset=utf-8',
dataType: "json",
type: "POST"
},
create: {
url: '@Url.Content("~/Home/UpdateToDo")',
contentType: 'application/json; charset=utf-8',
dataType: "json",
type: "POST"
},
destroy: {
url: '@Url.Content("~/User/DeleteToDo")',
contentType: 'application/json; charset=utf-8',
dataType: "json",
type: "POST"
},
parameterMap: function (options, operation) {
if (operation !== "read" && options.models) {
return JSON.stringify({ models: options });
}
}
},
pageSize: 10
, schema:
{
model:
{
id: "PrcsDetKy", //Primary key to uniquely identify the row.
fields: //Relavent fields of the grid should be bind with following model items
{
ID: { editable: false, nullable: false },
NxtActEntDt: { editable: true, nullable: false, validation: { required: true} },
AprPrty: { editable: true, nullable: false, validation: { required: true} },
AprUsr: { editable: true, nullable: true },
AprSts: { editable: true, nullable: true },
AprStsKy: { editable: true, nullable: true },
AprPrtyKy: { editable: true, nullable: true },
AprUsrKy: { editable: true, nullable: true },
AprResnKy: { editable: true, nullable: true },
PrjId: { editable: true, nullable: true },
TaskId: { editable: true, nullable: true },
TaskNm: { editable: true, nullable: false }, //validation: { required: true}
PrcsDetKy: { editable: false, nullable: false },
TaskTyp: { editable: true, nullable: false },
PrcsTypKy: { editable: true, nullable: true },
PrjKy: { editable: true, nullable: true },
PrcsDetAprKy: { editable: true, nullable: true },
PrjNm: { editable: true, nullable: false, validation: { required: true} },
Des: { editable: true, nullable: false },
NxtActByAdr: { editable: true, nullable: false, validation: { required: true} },
NxtActByAdrKy: { editable: true, nullable: true },
NxtActDt: { editable: true, nullable: true },
Rem: { editable: true, nullable: true, type: "string" },
OriginBy: { editable: false, nullable: true },
Hyperlinks1: { editable: false, nullable: true },
Hyperlinks2: { editable: false, nullable: true },
Hyperlinks3: { editable: false, nullable: true },
Hyperlinks4: { editable: false, nullable: true },
OrginAdrKy: { editable: true, nullable: true },
WrkStnKy: { editable: true, nullable: true },
ObjKy: { editable: true, nullable: true },
ObjCd: { editable: true, nullable: true },
ObjNm: { editable: true, nullable: true },
ItmKy: { editable: true, nullable: true },
ItmCd: { editable: true, nullable: true },
IsAct: { editable: true, nullable: true },
IsApr: { editable: true, nullable: true },
OrgEntDt: { editable: true, nullable: true }
}
}
}
});
return dataSource;
}
OriginalL'auteur tishantha | 2013-09-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez trouver tout à fait clair explication ici parameterMap
Vous devez utiliser parametrMap à définir un ensemble de paramètres ou d'effectuer d'autres opérations lors de l'appel de service à distance. Fondamentalement, ici vous dire, si je suis de la lecture, mise à jour ou suppression (c'est l'opération de la variable de la valeur de "lire" dans votre extrait de code) je veux ajouter un paramètre suivant(s) pour les méthodes que j'ai défini dans les "transports".
Dans votre cas, vous n'avez pas défini les options.les modèles de sorte qu'il semble, ce qui signifie que votre source de données n'ont pas toutes les variables/modèles de la collection. Bien qu'il n'a pas à le faire. Pour moi, il ressemble à la méthode de lecture que vous essayez d'appeler n'a pas vraiment besoin de tous les paramètres de sorte que vous pourriez juste renvoie la chaîne vide à partir de la paramMap ou de ne pas avoir cette section de configuration.
REMARQUE: le mode que vous avez défini la source de données est un peu confus, vous ne devriez pas fournir la configuration "données" lorsque vous avez défini la "url", par exemple. vous êtes l'obtention des données de l'url. Voir Local vs Distance.
OriginalL'auteur Vojtiik
ParameterMap, tel que défini dans le Kendo documentation, est une fonction qui convertit les paramètres de la requête dans un format adapté pour le service distant.
Dans le format de la fonction, ParameterMap: function (options, operation){...}, le paramètre options est une question délicate. En Kendo de la documentation, il est appelé de données. Cependant, les développeurs choisissent de le renommer comme les options que par leur goût. Cependant, aucune différence parce que c'est juste un nom de paramètre.
La valeur de la options paramètre dépend de ce que la section de transport est en train de faire. Si c'est un lire opération, puis kendo remplit automatiquement avec les champs comme sauter, prendre, page, pagesize etc. Cependant, cela dépend si le kendo grille a pagination définie sur true, tri défini à true, etc. Donc, il est en fait assez intelligent pour prendre ces paramètres automatiquement et de le transmettre au service.
En service, la fonction doit être nommé exactement comme ce que le kendo noms de paramètre. Comme ignorer, prendre, etc page par défaut. Toutefois, les noms de paramètre peut être modifié en écrivant quelque chose comme ceci: $top: des données.prendre, comme indiqué dans la documentation.
Je suis nouveau sur le concept du bien et c'est ce que j'ai pu recueillir. Je souhaite que je pourrais obtenir les informations ci-dessous dans cet article alors qu'il aurait été un jeu complet.
tri définie sur true.
OriginalL'auteur Prem