2015-09-14 21 views
0

我在想,是否有官方的方式來爲DataGrid(不同的行)中的同一列指定不同的小部件編輯器?如何在Dojo DataGrid中爲同一列指定不同的編輯器小部件

我發現dojox.grid.cells._MultipleEditor,但它相當複雜,沒有官方的支持。

這是用於創建像DataGrid屬性表的東西。

編輯:人們似乎建議使用dgrid。但是,我不確定dgrid是否具有此功能。此外,不幸的是,... 鼓卷 ... 恐怖音樂 ...我必須支持IE6。

回答

0

那麼,似乎有辦法做到這一點。似乎沒有顯示出太多負面影響(迄今爲止)...

  1. 爲每個值類型創建一個列,一個接一個。

  2. 用CSS類標記每列以指示其值類型(通過classes)。例如:classes="multivalue int"

  3. 對於每一列,使用正確的編輯器小部件和適當的約束&選項對其進行標記。

  4. 將樣式放在每一行(與onStyleRow)對應的每種類型。例如,將type-int類添加到具有int類型的行。

  5. 放在一個CSS樣式最初隱藏所有的多值單元格:

    .dojoxGridCell.multivalue { display:none; } 
    
  6. 取消隱藏所有正確類型的細胞:

    .dojoxGridRow.type-int .dojoxGridCell.multivalue.int 
    { 
        display:table-cell; 
        *display:block; /* For IE6/7 */ 
    } 
    

    這個工作,顯然,每行必須完全匹配一列列。

  7. 顯然,您必須將所有這些字段設置爲相同的屬性名稱。 DataGrid可以讓你做到這一點。

  8. display:none(通過CSS等)上除了第一個多值列的所有頭的細胞。否則,你會以太多的標題單元結束。

相關問題