2011-08-21 5 views
2

Id、FirstName、LastName、Codeの4つのプロパティを持つクラス(Person)があります。jqgrid列linq with ASP.NET MVC

私は人のリストをjqgridに表示します。私は、この形式でのリンク列をたい(コードはこの形式2011.0001を持っている)

/人/詳細/コード=> /Person/Code/2011.0001

しかし、私は以下のコードでこれを持っている: /顧客/詳細コード= 2

私はこれを試してみました:?

colModel: [ 
    { name: 'Code', index: 'Code', formatter: 'showlink', formatoptions: { baseLinkUrl: '/Customer/Detail', idName: 'Code' }}, 
    { name: 'LastName', index: 'LastName', align: 'left' }, 
    { name: 'FirstName', index: 'FirstName', align: 'left' }     
], 

は、どのように私はこれを修正することができますか?あなたが代わりにpredefined formatter 'showlink' の形で

formatter: function (cellvalue, options, rowObject) { 
    return '<a href="/Person/Code/' + rowObject.Code + '">' + cellvalue + '</a>'; 
} 

custom formatterを使用しようとすることができ

おかげで、

アップデート1、データ形式

[ 
{"Id":1,"FirstName":"AAAA","LastName":"AA","Code":"2011.0001"}, 
{"Id":3,"FirstName":"BBBB","LastName":"BB","Code":"2011.0003"} 
] 
+0

グリッドを埋めるために使用するテストデータを投稿できますか? 'Code'の値は一意ですか?おそらく列がグリッド行の 'id'として使用されている可能性がありますか? – Oleg

+0

update1を参照してください。コードはユニークですはい、技術的なIDがありますが、私はコントローラがコード値を受け取るようにしたいと思います。 –

+0

URLを '/ Person/Code/2011.0001'の形式にする必要があり、URLパラメータを持つ'/Person?Code = 2011.0001'という形式ではない場合は、カスタムフォーマッタを使用する必要があります。私の修正された答えを見てください。 – Oleg

答えて

1

formatter: 'showlink', formatoptions: {baseLinkUrl:'/Customer/Detail', idName:'Code'} 

「コード」列に一意のデータがあり、列定義にkey: trueを追加すると、簡単に/Customer/Detail?Code=2011.0001を受け取ることができます。この場合、JSON入力からのId値は無視され、 'Code'列の値がROWIDとして使用されます。 hrefの値を/Customer/Detail/Code/2011.0001の形式で、または/Customer/Detail?Code=2011.0001の代わりに使用する必要がある場合は、前述のようにカスタムフォーマッタを使用する必要があります。