2012-03-30 17 views
2

私は日付列を持つwebgridを持っています。日付はリンクとして表示され、列もソート可能でなければなりません。Webgrid - クリック可能な列ヘッダーなし

次のように日付列を追加すると、列ヘッダー "注文日"がプレーンテキストとして表示されます。

grid.Column(
     header: "Order Date", 
     format: (item) => new HtmlString(Html.ActionLink((string)item.orderdate...) 
) 

私はActionLinkのなしで日付の列を追加する場合は、列ヘッダー「受注日」は、リンクとして起動します、と私はそれをソートするためにクリックすることができています。

grid.Column("orderdate", header: "Order Date") 

私は間違っていますか?列ヘッダーをクリック/ソート可能にし、日付フィールドをリンクとして持つにはどうすればよいですか?

ありがとうございました。

答えて

1

COLUMNNAME属性を使用して並べ替えを有効になるあなたのグリッドに

var grid = new WebGrid(canPage: true, canSort: true); 

をこれを追加します。ここ

 columnName: "orderdate"; 

は、単純な構文

grid.Column(
    header: "Order Date", 
    columnName: "orderDate", 
    format: (item) => new HtmlString(Html.ActionLink((string)item.orderdate...) 
) 

で、最も重要なのは、あなたのCOLUMNNAMEは、私は本当のようcanSortたデータベース

+0

ありがとうございました。それはそれだった。 columnNameの追加は機能します。 – user471317

+0

私は私が助けることができてうれしいです、私は数日バークでこれに固執しました:P – Yasser

0

は、それは

+0

の列に存在するEXACT名前でなければなりません。その他の列はすべてソート可能です。それはちょうどこの1つの列で、私はアクションリンクがあるときだけです。データがアンカータグの内部にあるように見えますが、webgridではその列のソートが許可されていません。 – user471317

+0

HtmlStringでHtml.ActionLinkをラップすることができますか? ActionLinkはすでにMvcHtmlStringを返すので、新しいHtmlStringを作成する必要はありません。 – TGH

関連する問題