今はグリッドに表示されていない詳細を表示するためにウィンドウを使用しています。ウィンドウ内に独自のカスタムエディタを作成して、詳細を隠して入力に置き換えます。剣道グリッド - 更新機能付きウィンドウテンプレートボタン
残念ながら、私は剣道ツールバーの更新ボタンと同じ機能を持つように更新ボタンを得ることができません。
私は完全に動作する私の作成のためのトランスポートとパラメータマップを使用しています。私は、私ができなかったアップデートを打つことができればいいだけです。ここで
テンプレートのコードの抜粋です:
<li><b>Change Control Objective</b></li>
<li><textarea type="text" class="k-textbox k-input" data-bind="value:ChangeControlObjective">#= ChangeControlObjective #</textarea></li>
<li><b>Change Control Specifics</b></li>
<li><textarea type="text" class="k-textbox k-input" data-bind="value:ChangeControlSpecifics">#= ChangeControlSpecifics #</textarea></li>
<a href="\\#" class="k-button k-button-icontext k-grid-update"><span class="k-update k-icon k-i-tick"></span>Save</a>
私は私のJSコードを表示することはできませんが、それはこの道場オフに基づいています。http://dojo.telerik.com/abUHI
UPDATE:
を私は保存ボタンのクリックからパラメタマップの更新をヒットすることができますが、新しいデータの代わりに古いデータを更新に送信しています。ここでは、ボタンのクリックのコードは次のとおりです。
$("#saveChanges").click(function() {
dataItem.dirty = true;
$("#ccrGrid").data('kendoGrid').saveChanges();
});
各入力は、データバインド属性を持っており、たParameterMapは、次のようになります。
case "update":
var changeControlRequestId = options.ChangeControlRequestID;
var changeControlObjective = options.ChangeControlObjective;
var changeControlSpecifics = options.ChangeControlSpecifics;
var productAssociation;
if (options.AccountChangeInfo.ProductAssocation == undefined) {
productAssociation = "";
} else { productAssociation = options.ProductAssocation; }
var amortization;
if (options.AccountChangeInfo.Amortization == undefined) {
amortization = "";
} else { amortization = options.Amortization; }
var productType;
if (options.ProductChangeInfo.ProductType == undefined) {
productType = "";
} else { productType = options.ProductType; }
var productName;
if (options.ProductChangeInfo.ProductName == undefined) {
productName = "";
} else { productName = options.ProductName; }
var productDescription;
if (options.ProductChangeInfo.ProductDescription == undefined) {
productDescription = "";
} else { productDescription = options.ProductDescription; }
var productContract;
if (options.ProductChangeInfo.ProductContractualFeatures == undefined) {
productContract = "";
} else { productContract = options.ProductContractualFeatures; }
var productBehavior;
if (options.ProductChangeInfo.ProductBehavioralAssumptions == undefined) {
productBehavior = "";
} else { productBehavior = options.ProductBehavioralAssumptions; }
var evaluationBehavior;
if (options.ProductChangeInfo.ProductEvaluationBehavior == undefined) {
evaluationBehavior = "";
} else { evaluationBehavior = options.ProductEvaluationBehavior; }
var productStratification;
if (options.ProductChangeInfo.ProductStratificationRoutines == undefined) {
productStratification = "";
} else { productStratification = options.ProductStratificationRoutines; }
if (content.isreadonly == "True") {
alert("you have readonly access");
}
else {
var urlString = "env=" + content.env + "&allyid=" + content.userId + "&changeRequestID" + changeRequestID + "&changeControlObjective=" + changeControlObjective + "&changeControlSpecifics=" + changeControlSpecifics +
"&productAssociation" + productAssociation + "&amortization" + amortization +
"&productType" + productType + "&productName" + productName + "&productDescription" + productDescription +
"&productContract" + productContract + "&productBehavior" + productBehavior + "&evaluationBehavior" + evaluationBehavior +
"&productStratification" + productStratification;
return urlString;
クリックしてボタンをクリックして更新を取得することはできましたが、新しいデータを送信するのではなく古いデータを送信しています。これは私のボタンクリック機能です:$( "#saveChanges")。(function#) }); –
には複数の理由があります。モデル/データソースの設定に問題がある可能性があります。サーバーが正しく応答していない可能性があります。エラーを確認するためにChromeコンソールを使用してみてください。最初のアプローチは、すべてのデータ設定が適切に設定されているときにsaveChangesなどを呼び出す必要がなくても、正しく設定されている必要があります。 – Turo