作成日: 2017/05/29 最終更新日: 2018/11/29
文書種別
不具合
状況
修正済み
詳細
カスタムエディタとして設定したテンプレート列において、OnClientBeginningEditプロパティで実装したイベント内でキャンセル処理が有効にならず、編集をキャンセルすることができません。
回避方法
この問題は2018J v3(4.0.20183.176)で修正されました。
※修正版を適用しない場合の回避方法は以下の通りです。
FlexGridコントロールの前に次のようなスクリプトを記載し、テンプレートの動作を上書することにより回避できます。
<script>
// 回避策ここから
var func = c1.mvc.grid._ItemTemplateProvider.prototype._applyCellEditTemplate;
c1.mvc.grid._ItemTemplateProvider.prototype._applyCellEditTemplate = function (grid, args) {
if (args.cancel) {
return;
}
func.call(this, grid, args);
};
// 回避策ここまで
</script>
<script>
function beginEdit(s, e) {
if (s.rows[e.row].dataItem['Active'] && s.rows[e.row].dataItem['ID'] > 5 && e.col == 1) {
e.cancel = true;
}
}
</script>
@(Html.C1().FlexGrid() _
・・・
OnClientBeginningEdit("beginEdit")
)
※修正版を適用しない場合の回避方法は以下の通りです。
FlexGridコントロールの前に次のようなスクリプトを記載し、テンプレートの動作を上書することにより回避できます。
<script>
// 回避策ここから
var func = c1.mvc.grid._ItemTemplateProvider.prototype._applyCellEditTemplate;
c1.mvc.grid._ItemTemplateProvider.prototype._applyCellEditTemplate = function (grid, args) {
if (args.cancel) {
return;
}
func.call(this, grid, args);
};
// 回避策ここまで
</script>
<script>
function beginEdit(s, e) {
if (s.rows[e.row].dataItem['Active'] && s.rows[e.row].dataItem['ID'] > 5 && e.col == 1) {
e.cancel = true;
}
}
</script>
@(Html.C1().FlexGrid() _
・・・
OnClientBeginningEdit("beginEdit")
)
旧文書番号
82171