2012-03-12 82 views
0

在我的aspxgrid中,我創建了所有列的動態,所以我有一個單元格包含三個行中的三個狀態。如何在aspxgrid中爲單元格的一部分着色?

Item Status Date 
       1st 2nd . .... ... 
    Booked  2 4 5 1 2 4........ 
1 Available 1 1 1 1 1 1........ 
    Not Avail 0 0 0 0 0 0........ 

所以這些單元格爲1行。我已經使用customcolumndisplaytext事件來做到這一點。現在我想給三個狀態行分配不同的顏色。你能幫我嗎?我需要這樣做,有幾個項目,每個項目我有三個狀態。 有沒有什麼不同的方法可以做到這一點,請賜教。

感謝, Mriganka

+0

你應該張貼在網站DevExpress的這個問題(https://www.devexpress.com/Support/Center/Issues/ CreateIssue.aspx?問題類型=問題)。他們將非常樂意爲您提供幫助。 – Dan 2012-03-12 09:03:17

+0

已posted.Nothing到現在.. – incomplete 2012-03-12 09:10:08

回答

0

你應該使用GridViewDataColumn.DataItemTemplate用簡單的HTML元素結合而實現這一目標。另外,請看DataItemTemplate demo

爲了更簡單的解決方案,將CustomColumnDisplayText中的e.DisplayText設置爲html。

這裏是交替內部細胞字顏色CustomColumnDisplayText事件處理的例子:

protected void ASPxGridView1_CustomColumnDisplayText(object sender, ASPxGridViewColumnDisplayTextEventArgs e) 
{ 
    if ("job_desc".Equals(e.Column.FieldName)) 
    { 
     e.DisplayText = ""; 
     string[] tokens = ((string)e.Value).Split(' '); 
     for (int i = 0; i < tokens.Length; i++) 
     { 
      if (i % 2 == 0) 
      { 
       e.DisplayText += "<span style='color:red'>" + tokens[i] + @"</span>"; 
      } 
      else 
      { 
       e.DisplayText += "<span style='color:blue'>" + tokens[i] + @"</span>"; 
      } 
      e.DisplayText += " "; 
     } 
    } 
} 
+0

謝謝,但在每一行我必須設置3種顏色的3個狀態,所以如何做到這一點,IM仍然在黑暗中。 – incomplete 2012-03-12 09:29:26

+0

我改變了我的答案。 – Filip 2012-03-12 10:10:11

+0

因此,這將工作在一個特定的單元格右..但在我的情況下,我有一個單元格內的三條線,現在一個單元格內的紅色,綠色和藍色三條線。 – incomplete 2012-03-12 10:23:26