ExtJS-4行エディタグリッドの "更新"ボタンのテキストを変更する方法はありますか?ExtJS 4>行エディタグリッド> "更新"ボタンテキストの変更方法
答えて
いい質問、私はソースコードを見ていたし、RowEditingプラグイン内部で何がクラスで、存在しない一方で、それは「RowEditor.js」を拡張し、次があります:
Ext.define('Ext.grid.RowEditor', {
extend: 'Ext.form.Panel',
requires: [
'Ext.tip.ToolTip',
'Ext.util.HashMap',
'Ext.util.KeyNav'
],
saveBtnText : 'Update',
cancelBtnText: 'Cancel',
...
});
だから私は」あなたはちょうどそれがcallParent(引数)を持つ親のコンストラクタを呼び出すようRowEditing
クラス
ないことは容易ではなく文書化されていない地域でハッキングなしで'Ext.grid.plugin.RowEditing'
のインスタンスで'saveBtnText'
をオーバーライドする必要があると思い仮定dが。問題は、Ext.grid.plugin.RowEditing
がExt.grid.RowEditor
を直接インスタンス化するということです。設定オプションを渡すことはできません。 ExtJSの4
Ext.grid.RowEditor.prototype.cancelBtnText = "This is cancel";
Ext.grid.RowEditor.prototype.saveBtnText = "This is update";
あなたのコードをチェックしましたか? startEdit()メソッドはエラーを返します。 "Undefined headerCt"。一方、上記のコードは編集にはうまくいきます。問題を解決するには、遅延ロードではなく、initComponentでプラグインを初期化します。 –
あなたは正しいかもしれません。自動ロードを有効にしてコードを試しませんでした。 –
:だから、一般的に、あなたは、プラグインでinitEditor()
メソッドをオーバーライドして、独自の行エディタをインスタンス化する必要があります。これは、この設定が一般的なものであることを意味します。 1人のエディターでのみ変更したい場合や、異なる設定を取得する場合は、プロトタイプは解決策ではありません。 rowEditorのINIT
initEditorConfig: function(){
var me = this,
grid = me.grid,
view = me.view,
headerCt = grid.headerCt,
btns = ['saveBtnText', 'cancelBtnText', 'errorsText', 'dirtyText'],
b,
bLen = btns.length,
cfg = {
autoCancel: me.autoCancel,
errorSummary: me.errorSummary,
fields: headerCt.getGridColumns(),
hidden: true,
view: view,
// keep a reference..
editingPlugin: me
},
item;
for (b = 0; b < bLen; b++) {
item = btns[b];
if (Ext.isDefined(me[item])) {
cfg[item] = me[item];
}
}
return cfg;
}`
この方法、及びbtnsアレイ上のループがあります:
ソースコードを見
btns配列:でこのループforeachの列で
btns = ['saveBtnText', 'cancelBtnText', 'errorsText', 'dirtyText']
for (b = 0; b < bLen; b++) {
item = btns[b];
if (Ext.isDefined(me[item])) {
cfg[item] = me[item];
}
}
btnArray cfgに同じ文字列プロパティが存在するかどうかを検索します(設定に追加されている場合)。
例:私たちは、ボタンを救うのテキストを変更する:あなたはこのループは、変更したいものを見つけたことを管理する必要が
btns配列の最初の項目は、CFG内に存在しなければならないという性質saveBtnText :
if (Ext.isDefined(me[item])) {
cfg[item] = me[item];
}
この検索プロパティが存在する場合:if (Ext.isDefined(me[item]))
をsaveBtnTextが既にrowEditorのプロパティに存在する場合:
cfg[item] = me[item];
追加の設定プロパティが設定されます。
このソリューションはrowEditorsのプロトタイプを定義することであるため
// ...
plugins: [{
ptype: 'rowediting',
clicksToEdit: 2,
initEditor: function() {
var me = this,
grid = me.grid,
view = me.view,
headerCt = grid.headerCt;
return Ext.create('Ext.grid.RowEditor', {
autoCancel: me.autoCancel,
errorSummary: me.errorSummary,
fields: headerCt.getGridColumns(),
hidden: true,
// keep a reference..
editingPlugin: me,
renderTo: view.el,
saveBtnText: 'This is my save button text', // <<---
cancelBtnText: 'This is my cancel button text' // <<---
});
},
}],
// ...
- 1. IOS完了ボタンテキストの変更
- 2. jQuery/Javascriptボタンテキストの変更(EDIT!)
- 3. 変更ボタンテキストの色IOS
- 4. asynctask result as baseadapterの結果のボタンテキストの更新方法
- 5. ExtJS折れ線グラフシリーズの変更方法
- 6. extjsエディタグリッド内の特定のセルを無効にする方法
- 7. Extjsの行のグリッドセルのCSSを変更する方法4.1.3
- 8. ボタンリロードページのクリックとボタンテキストの変更
- 9. uinavigationbar戻るボタンテキストを変更する方法
- 10. JavaScript関連の入力ボタンテキストの変更
- 11. グリッドビューのボタンテキストを変更する
- 12. AngularJsのボタンテキストを動的に変更
- 13. MySQL:最終更新の変更方法
- 14. 配列からボタンテキストを変更する
- 15. extjsストアデータを変更するときの更新
- 16. Jenkins更新センターの変更方法
- 17. スウィフト3ボタンテキスト自動サイズ変更
- 18. ボタンテキストの新しい行\ n
- 19. ExtJs。サイズ変更時のフィールドレイアウト
- 20. ボタンテキストを変更し、angular2のボタンイベントをクリックして無効にする方法
- 21. LINQ:UPDATEのように更新を実行する方法<T> SET更新(<T>,)LINQのSELECT FROM句?
- 22. WooCommerceの特定のお支払い方法のチェックアウト送信ボタンテキストを変更
- 23. jQueryの変更を<select>に変更する方法
- 24. ExtJs 4アコーディオンのヘッダーの高さを変更する方法
- 25. Extjs 4:プログレスバーの色を動的に変更する方法は?
- 26. Laravel移行の変更/更新
- 27. ExtJS: 'image'タイプのスプライト:ピクセルを変更する方法は?
- 28. ExtJS 6チャートの日付を変更する方法
- 29. "mvc2の更新エンティティの更新方法"
- 30. extjsのブラウザの更新ボタンの処理
これは素晴らしいです – Faradox