2011-09-09 6 views
0

問題の列のフォーマッタがrowIndexを介して同じデータ行の2番目の値にアクセスするため、dojoデータグリッド(拡張バージョン) 。フォーマッタが他の行の内容にアクセスするときにdojoデータグリッド・セルを正しくソートする方法

この列がソートされると、元の配列は変更されず、値が正しくソートされている間は、行インデックスは以前と同じ行にアクセスします(2番目の値は残ります)。ここで

は、私が何を意味するかの例です:

列「国」は国の名前と国に対応するフラグを表示します。 country.nameはプライマリ値で、country.isoは2番目の値です。

カラムフォーマッタは、以下のように定義される:逆方向にこの列をソートする場合、グリッドが表示されることになる

(Australian Flag) Australia 
    (Begian Flag) Belgium 
    (Canadian Flag) Canada 

を表示するであろうグリッドをソートなし

var formatCountryName = function(value,rowIndex){ 
    var iso = this.grid.store.getItem(rowIndex).iso; 
    return '<img src="../flags/flag_'+iso+'.png">'+value; 
}; 

(Australian Flag) Canada 
    (Begian Flag) Belgium 
    (Canadian Flag) Australia 

基本アレイがその順序を変更していないため、 dex はまだ同じ国にアクセスしています。

country.isoのソートされた値にアクセスするにはどうすればよいでしょうか。したがって、 フラグは国の名前に対応しています。

実際に私は、このアプリケーションの重要な部分で同じ誤差を有するが 重要なヒントは、私はこれだけではなく些細な見た目を介してエラーを知った 同じデータ列の他の値に対応して表示されるが、ました。

答えて

1

この試してみる:= "ISO"

するvar columnNameForIsoを。 var iso = grid.store.getValue(grid.getItem(rowIndex)、columnNameForIso);

あなたの実装のためにあなたのcolumnNameForIsoを置き換えてください。

+0

これは完全に機能します。どうもありがとう! – elfwyn

関連する問題