3

ラリーカスタムグリッドを使用しているSDK2.0アプリでエラーが発生します:

IE(現在)でのみエラーが発生し、ローカルで実行してもエラーは発生しません。Rallyにインストールして実行した場合のみです。

ラリーの問題なのか、EXTJSの問題なのかわかりません。

SCRIPT5007:プロパティ'modelField'の値を取得できません:オブジェクトがnullまたは未定義のsdk.js、4行目の文字1276692

失敗したコード:

if(e.modelField&&e.modelField.hidden)

そのエラーに関するコンテキスト:

{xtype:"rallytextfield",allowBlank:false,removeNameAttribute:true}}},PortfolioItem:function(){return{hidden:true}},AttributeType:function(b){return a.apply(Rally.ui.grid.FieldColumnFactory.defaultRenderer(b),{sortable:false})}})})();(function(){var a=window.Ext4||window.Ext;var b=function(g,e){var d=g.text;var c=e.text;if(d>c){return 1}if(d<c){return -1}return 0};a.define("Rally.ui.grid.ColumnBuilder",{requires:["Ext.Array","Ext.util.Format","Rally.ui.grid.FieldColumnFactory"],constructor:function(){this.defaultColumns=[];this.autoAddAllModelFieldsAsColumns=true},withDefaultColumns:function(c){if(a.isArray(c)){this.defaultColumns=this.defaultColumns.concat(c)}return this},withSortableColumns:function(c){this.sortable=c;return this},shouldAutoAddAllModelFieldsAsColumns:function(c){this.autoAddAllModelFieldsAsColumns=c;return this},build:function(d){var e=a.Array.map(this.defaultColumns,function(g){if(a.isString(g)){return Rally.ui.grid.FieldColumnFactory.getColumnConfigFromField(d.getField(g),this.sortable)}return g},this);if(this.autoAddAllModelFieldsAsColumns){var c=this._buildModelColumns(d,this.defaultColumns,e);e=e.concat(c)}this._removeHiddenColumns(e);return this._stripTagsFromColumnText(e)},_removeHiddenColumns:function(d){for(var c=d.length-1;c>0;c--){var e=d[c];if(e.modelField&&e.modelField.hidden){a.Array.erase(d,c,1)}}}

この問題を特定するために他にどのようなガイダンスを提供できるかわかりません。

4

1 に答える 1

2

コードが少し大きかったので、投稿する前にいくつかの分割統治を開始し、おそらく根本的な原因ではありませんが、コードで原因を見つけました。

ラリーグリッドを追加するときの columnCfgs で、最後のエントリの末尾に「,」がありました。

本当に厄介なことは、これはすべてのブラウザーでローカルに機能しますが、Rally の IE では非常にあいまいなエラーでしか失敗しないため、追跡するのが非常に難しいことです...私の JavaScript シンタックス ハイライターでさえ警告しませんでした...

これは、実際には、IEが非常に厄介なRallyまたはEXT-JSコードの問題であると思われます...

于 2012-05-22T23:51:06.230 に答える