0

django-tables2 では、デフォルトですべてのテーブル列が順序付けをサポートしています。これは、すべての列ヘッダーがリンクとしてレンダリングされ、ユーザーがテーブル データの順序を調整できることを意味します。しかし、列ヘッダーをリンクにレンダリングしたくないのですが、どうすればいいですか?

資料はこちら!

デフォルトでは、すべてのテーブル列が順序付けをサポートしています。これは、すべての列ヘッダーがリンクとしてレンダリングされ、ユーザーがテーブル データの順序を調整できることを意味します。

順序付けは、テーブルまたは列ベースで無効にすることができます。

Table.Meta.orderable = False – default to disable ordering on columns
Column(orderable=False) – disable ordering for specific column

たとえば、1 つを除くすべての列を無効にします。

class SimpleTable(tables.Table):
    name = tables.Column()
    rating = tables.Column(orderable=True)

    class Meta:
        orderable = False

私はそうしますが、うまくいきません.これは私のtalbes.pyファイルです:

class MusicBaseTable(tables.Table):
    songs = tables.CheckBoxColumn()
    title = tables.Column()
    artist = tables.Column()
    album = tables.Column()
    genre = tables.Column()
    date = tables.Column()

    class Meta:
        orderable = False
        attrs = {"class": "list"}
4

1 に答える 1

9

それはドキュメントにあります:

特定の列の順序付けを無効にする

デフォルトでは、すべてのテーブル列が順序付けをサポートしています。これは、すべての列ヘッダーがリンクとしてレンダリングされ、ユーザーがテーブル データの順序を調整できることを意味します。

順序付けは、テーブルまたは列ベースで無効にすることができます。

  • Table.Meta.orderable = False -- デフォルトで列の順序付けを無効にします
  • Column(orderable=False) -- 特定の列の順序付けを無効にします。たとえば、1 つを除くすべての列を無効にします。

テンプレートが列に注文リンクを含めるかどうかを決定する方法を確認してください。{% if column.orderable %}

于 2012-03-21T10:41:05.917 に答える