2016-11-30 103 views
0

在Trac中(1.2)我想創建一個報告,其中所有票據按照修改時間排序,其中顏色應指示組件(或者它是否已關閉)。如何按組件對Trac報告中的票據進行着色?

我認爲設置由component__color__會做的伎倆,但報告以下報告顯示所有活動門票白色:

SELECT 
    DISTINCT 
    component AS __color__, 
    (CASE status 
     WHEN 'closed' THEN 'color: #777; background: #ddd; border-color: #ccc;' 
    END) AS __style__, 
    id AS ticket, summary, component, milestone, status, resolution, 
    t.time AS created, changetime AS modified, 
    priority AS _priority, reporter AS _reporter, cc AS _cc 
    FROM ticket t 
    LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority' 
    LEFT JOIN ticket_change tc ON id = tc.ticket 
    ORDER BY 
    changetime DESC 

如何更改基於票指的是什麼成分的顏色?

回答

1

通過@RjOllos通過回答啓發我選擇了用case語句來設置__color__

(CASE component 
    WHEN 'COMPONENT1' THEN 1 
    WHEN 'COMPONENT2' THEN 2 
    WHEN 'COMPONENT3a' THEN 4 
    WHEN 'COMPONENT3b' THEN 4 
    WHEN 'COMPONENT4' THEN 5 
    ELSE 3 
END) AS __color__, 

這樣做的好處是,行保持其顏色交替。

1

__color__只能用於值爲1到5的枚舉值,請參閱documentation。你可以做這樣的事情:

(CASE component 
    WHEN 'component1' THEN 'background: #ff5733;' 
    WHEN 'component2' THEN 'background: #3339ff;' 
    WHEN 'component3' THEN 'background: #e9ff33;' 
END) AS __style__, 
相關問題