2012-05-10 39 views
3

私はJQgridに 'size'というカラムを持っています。戻り値の型は整数です。私が追加しました:jqgrid +空白で数値をソート

{ 
    name:'sizeKloc', 
    index:'sizeKloc', 
    width:60, 
    editable:false, 
    sorttype: 'int', 
    align:'right' 
}, 

は値がnullとして渡される場合があります。

マイカラム有し、値以下 - 0、3、5、、、、2(空白またはスペースである)ヌル(空白またはスペースである)ヌル1、、(空白またはスペースである)ヌル3

しかし、私がASCをソートしようとすると、空白にはまず実際のソートが行われます。

何か助けていただければ幸いです。

答えて

3

実際にnullを保持して0と区別する場合は、sorttype: 'int'の代わりにcustom sortingを使用できます。使い方はとても簡単です。データの元の値ではなく、ソートに使用できる値の置き換えを定義するだけで済みます。それはたとえば

{name:'sizeKloc',index:'sizeKloc', width:60, editable:false, align:'right' 
    sorttype: function (cellValue) { 
     return cellValue === null ? -1000 : Number(cellValue); 
    }}, 

または

{name:'sizeKloc',index:'sizeKloc', width:60, editable:false, align:'right' 
    sorttype: function (cellValue) { 
     var num = parseInt(cellValue, 10); 
     return isNaN(num) ? -1000 : num; 
    }}, 

のために正確なコードすることができ、あなたの場合は

は、使用するデータの形式や種類からより多くを依存しています。

+0

こんにちはOleg。これはうまくいった。そんなにありがとう、しかし、私はこれに別の懸念を抱いています。昇順の並べ替えを行うと、空白は数字の後に表示されますが、空白が数字の前に来るようにします。どんな助けもありがとうございます。ありがとう –

+0

@komalsalvi: 'cellValue'は' null'だけでなく、空文字列に対してもテストできます。 'sorttype'から小文字(-1000など)か大文字のどちらかを返すことができます。私はそれが問題を解決すべきだと思う。 – Oleg

+0

@Oleg ...ありがとうございました:) –