2017-01-06 16 views
0

次のコードを使用して、サーバーからのデータを剣道グリッドに表示しています。剣道グリッド複数列のハイパーリンク

正常に動作します。

各行の最後のセルに2つのハイパーリンクを挿入したいのですが、1つのハイパーリンクだけを使用できます。

同じセルにEDITDELETEリンクが必要です。

どうすればこの問題を解決できますか?

CODE

@(Html.Kendo().Grid(Model) 
.Name("Grid") 
.Columns(columns => 
{ 
    columns.Bound(u => u.USERNAME); 
    columns.Bound(u => u.PASSWORD); 
    columns.Bound(u => u.ROLE); 
    columns.Bound(u => u.STATUS); 
    columns.Template(c => Html.ActionLink("Edit", "Edit", new { id = c.ID })); 

} 
) 
.Pageable() 

答えて

2

これを行うにはいくつかの方法があります。それからちょうど編集の設定を配線し、適切deleteコマンドを破壊

columns.Command(command => 
       { 
        command.Edit(); 
        command.Destroy();       
       }); 

まず、あなたはそうのようなグリッド設定

内から作り付けの編集/削除オプションを使用することができます。

代わりに次の2つの方法のいずれか使用してこれらを鋳型することができます

まずインラインテンプレートを:

columns.Bound(c => c.ID).ClientTemplate("<a href='Edit/#=data.ID#'>Edit Link #=data.ID#</a> 
<a href='Delete/#=data.ID#'>Delete Link #=data.ID#</a>") 

だから、これはただの列にバインドされ、テンプレートが標準を使用して、あなたの要件ごととして追加されますhtmlとjavascriptが必要な場合。これは、単純なもののために細かいですが、あなたは、テンプレートを作成し、このようにすることを呼び出す第二の方法につながるtemplatesより複雑持っている場合は、高速非常に不格好得ることができます:

columns.Bound(c => c.ID).ClientTemplate("#=getButtonTemplate(data,'buttonsTemplate')#") 

そのようにのようなあなたのテンプレートを作成します

<script id="buttonsTemplate" type="text/x-kendo-template"> 
<div class='btn-group'> 
<a class="btn btn-primary" href='@Url.Action("{edit action}", "controller")/#=ID#'>Edit Link #=ID#</a> 
<a class="btn btn-danger" href='@Url.Action("{delete action}", "controller")/#=ID#'>Delete Link #=ID#</a> 
<div> 

</script> 

は、getButtonTemplate機能:

function getButtonTemplate(data, templateName) { 
    var templateObj = $("#" + templateName).html(); 
    var template = kendo.template(templateObj); 
    return template(data); 
} 

だから、私は、この第二の方法をここで起こっているかを説明しましょう。

htmlをテンプレートに入れ替える代わりに、より良い単語が必要な場合は、2つのcomponentsに展開します。

getButtonTemplate関数を使用して、データ項目とテンプレートのidに2つのパラメータを渡します。この関数は単に渡されたデータオブジェクトをテンプレートにロードし、剣道マジックはhtmlをレンダリングし、必要に応じて値を注入します。この件に関する詳細は、剣道のデモサイトで確認してください。

テンプレート要素は、htmlとjavascriptの組み合わせにすることができます。テンプレートにロジックを適用する必要がある場合は、ここで行うことができます。この件についての詳細は、剣道サイトを参照してください。

個人的には、このクライアントテンプレートを実行する2番目の方法が好きです。不正なハッシュや括弧の破られたコードを管理して変更するのは簡単です。

さらに詳しい情報が必要な場合は、私にお知らせください。私はあなたの答えを更新します。

関連する問題