1
A
回答
3
它可以做到,這裏是如何。
首先,您必須重寫用於呈現表格的默認table.html模板(如果您尚未使用自己的模板)。你可以從包含在django-tables2中的那個開始。
其次,在模板中,找到用於排序主播:
{% if column.orderable %}
<th {{ column.attrs.th.as_html }}><a href="{% querystring table.prefixed_order_by_field=column.order_by_alias.next %}">{{ column.header }}</a></th>
{% else %}
而且將其更改爲:
{% if column.orderable %}
{% with "-"|add:column.name as sort_col_name %}
<th {{ column.attrs.th.as_html }}><a href="{% querystring table.prefixed_order_by_field=column.order_by_alias.opposite|default:sort_col_name %}">{{ column.header }}</a></th>
{% endwith %}
{% else %}
所以我們基本上只是在列名前添加一個-
默認情況下爲了強制降序排序,在頁面加載時無需排序,轉向.opposite
而不是.next
。我們需要這樣做,因爲.next
將始終被定義,而.opposite
在沒有排序的頁面加載時將爲None,並且默認過濾器將被執行。當定義排序時,.opposite
將正確切換排序順序。
請注意,這未經測試,如果您遇到問題,請查看django-tables2 source瞭解更多信息。
相關問題
- 1. Django:django-tables2更改默認排序行爲
- 2. django-tables2不排序
- 3. Django-tables2不排序
- 4. 不能降設置默認值下降
- 5. 如何設置WPF DataGrid列的默認排序方向爲降序?
- 6. django-tables2:爲許多列設置attrs?
- 7. 設置默認排序規則phpmyadmin
- 8. 在Datatable中設置默認排序列
- 9. typo3 solr如何設置默認排序?
- 10. 在SlickGrid中設置默認排序列
- 11. 設置默認值在Django
- 12. Django設置默認日誌
- 13. Django設置默認數據
- 14. 爲Django的Tables2
- 15. 如何爲NSTableView設置默認排序順序?
- 16. SQL Server中,如何將默認排序規則設置爲unicode?
- 17. 設置排序第一列作爲默認的TOAD
- 18. 默認排序
- 19. 如何更改默認排序順序以降序?
- 20. 更改listview和gridview的默認排序順序降序
- 21. 設置默認程序
- 22. django - 如何在django 1.3中爲DecimalField設置默認值?
- 23. 爲Sinatra設置默認content_type
- 24. 將document.title設置爲默認
- 25. Mysql設置爲默認?
- 26. django-tables2:更改外鍵列的默認列標題
- 27. 設置Django管理員默認操作
- 28. Django設置默認表單值
- 29. Django的 - 設置DateTimeField字段默認timezone.datetime.max
- 30. Django的默認設置1.6 BASE_DIR演戲
謝謝,工作過的魅力! - 我得到了模板中的那個位置,但沒有意識到.opposite和| default過濾器是保持整潔的一種非常簡潔的方式。 – Kerridge0 2013-02-22 12:39:44