1

以下を使用して jqGrid リンクを作成する方法を確認できます。

colModel: [ {name:'myname', 
             formatter:'showlink', 
             formatoptions:{baseLinkUrl:'someurl.php', addParam: '&action=edit'}

これにより、次のようなリクエストが作成/someurl.php?id=XX&action=editされ、表示テキストは の値になりますmyname

しかし、私たちの場合、mynameテキストは必要ありません。表示テキストはハードコードされます。JSON リクエストで追加のデータを渡す必要はありませんが、各列に JSON 属性が必要なようです。追加の JSON 列なしでリンクを作成するにはどうすればよいでしょうか?

4

1 に答える 1

1

フォーマッタ'showlink'は、他のすべてのフォーマッタと同様に、サーバーまたはローカル データからjqGrid にロードされたデータをフォーマットするために使用されます。したがって、この例の場合、リンクには「myname」テキスト (列名) は含まれませんが、グリッドのセル値は含まれます。

したがって、事前定義されたフォーマッター 'showlink'を使用する場合は、リンクで表示するテキストを列データに入力する必要があります。これは、JSON データ内で行うか、ページがロードされた後にテキストを入力/上書きするか、たとえばloadCompleteイベント ハンドル内で行うことができます。

loadComplete: function() {
    var grid = $("list");
    var ids = grid.getDataIDs();
    for (var i = 0, idCount = ids.length; i < idCount; i++) {
        grid.setCell(id, 'myname', 'My text for link');
    }
}

事前定義された formatterの代わりに、カスタム フォーマッタカスタム アンフォーマッタを使用することもできます。次に、グリッドにデータを入力せずに、必要に応じてリンクのテキストを定義できます。'showlink'

于 2010-09-17T09:59:57.510 に答える