dojox.grid._Builder で doResizeColumn をオーバーライドするにはどうすればよいですか。変数dg._HeaderBuilderのメソッドであるため、処理方法がわかりません。どんな助けでも感謝します。
1 に答える
0
すべてのインスタンスに対してオーバーライドしたい場合は、次のようにdojo/aspect
'sを使用して行うことができますaround()
(詳細についてはリファレンス ガイドを参照してください)。
define(["dojo/aspect"], function(aspect) {
aspect.around(dojox.grid._builder, "doResizeColumn", function(originalDoResizeColumn) {
return function(/* needs the original signature(params) of the original doResizeColumn */) {
// Your code here
/* you could call the original doResizeColumn (which you 'kinda override' here) anytime if you want just here
* originalDoResizeColumn(...);
*/
// and even do sth. after it.
};
});
});
編集:
道場V1.6
の場合、これはちょっと実験的なものですが、試してみることができます:
dojo.require("dojox.lang.aspect");
var aop = dojox.lang.aspect; //define the namespace...
aop.advise(dojox.grid._Builder, 'doResizeColumn', {
around: function( /*originalparameters*/ ) {
// your code here
// the original coll looks as sth. like the following i dunno exactly
aop.proceed( /*fitting params*/ );
// some other code after it maybe...
}
});
詳細については、この興味深いブログ エントリまたはこの種のドキュメントを参照dojox.lang.aspect
してください。多分あなたdojox.lang.aspect.advise
のbefore
ニーズにもっと合うでしょう。それについては、上記のリンクを参照してください。お役に立てれば。
于 2012-12-05T10:49:33.997 に答える