asp.net
  • jqgrid
  • 2016-11-17 9 views 0 likes 
    0

    を添付されていますはColModelをここでは、コードに

    {name: "FirstName", index: "FirstName", width: 100, sortable: true,  editable:true, formatter: GetRow}    
    
    function GetRow(cellvalue, options, rowObject) { 
        return "<a href='#' class='GetLink'>" + cellvalue + "</a>"; 
    } 
    $('.GetLink').click(function (rowid) { 
        var row = $('#grid').jqGrid('getGridParam', 'selrow'); 
        $('#grid').jqGrid('editGridRow', row, { recreateForm: true, closeAfterEdit: true, closeOnEscape: true, reloadAfterSubmit: false }); 
    }); 
    

    答えて

    0

    あなたの現在のコードは、いくつかの欠点があります。グリッドのすべての行で、編集/削除ボタン(例:delbutton: falseのようなフォーマッタのオプションを説明しているthe old documentationを参照)を作成するには、カスタムフォーマッタではなく、のオプションをformatoptions: { editformbutton: true }に設定することをおすすめします。 The old answerは、より詳細なアプローチを記述し、formatter: "actions"の使用法を示すthe demoを提供します。

    あなたはどうなるならば、あなたの代わりに<a><span>を使用することができ、カスタムフォーマッタを使用することを好む:

    別のクリック - を登録
    return "<span class='GetLink'>" + cellvalue + "</span>"; 
    

    .GetLink { text-decoration: underline; cursor: pointer; } 
    

    代わりの利用$('.GetLink').click、ハンドラをすべてハイパーリンクに使用する場合は、グリッドのクリックハンドラを使用することをお勧めします。 jqGridはすでにそのようなクリックハンドラを登録しており、beforeSelectRowコールバックに関してカスタムアクションを使用することができます。 Webブラウザのメモリを節約し、グリッドを再読み込みするたびにバインディングを再適用するのではなく、バインディングを1回行うことができます。詳細はthe answerを参照してください。

    その他の回答:this onethis oneです。

    +0

    @Oleg ...あなたの提案と時間をいただきありがとうございました...もう1つ問題は、編集ダイアログが開いたときです。私は、リンクに " Cellvalue "; 編集ダイアログでセルの値だけを取得する解決策を与えることができます – Supreeth

    +0

    @Supreeth:あなたが何を意味するのか分かりませんが、カスタムフォーマッタの列で 'editable:true'を使用していると思います。通常は、リンクを含む列を編集する必要はありません。 'editable:true'を削除するか、' editable:false'を使うべきです。カスタムフォーマッタを持つカラムでは、通常、 'sortable:false、search:false、editable:false、viewable:false、hidedlg:true'というプロパティを使います。 – Oleg

    +0

    @Supreeth:リンク内のテキストを編集*する必要がある場合は、** unformatter **( 'unformat'コールバック)を列に指定する必要があります。 [the documentation](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter#unformatting)を参照してください。 unformatterは、カスタム形式のセルから*編集可能な部分*を取得します。 – Oleg

    関連する問題