2012-07-18 74 views
0

我有一個使用html聲明性創建的Dojo數據網格。我需要對齊一列。我試圖通過以下兩種方式,我無法得到它的工作如何以聲明方式右對齊Dojo Datagrid中的列

嘗試1

在下面的例子中,他align="right"被忽略,但width="100px"添加到每個<td>元素的樣式

<table data-dojo-type="dojox.grid.DataGrid" style="height:100px;"> 
<thead> 
    <tr> 
    <th field="col1" width="auto">Col 1</th> 
    <th field="col2" width="100px" align="right">Col 2</th> 
    <th field="col3" width="100px" align="right">Col 3</th> 
    </tr> 
</thead> 
</table> 

嘗試2

在下面的示例style="text-align:right;"似乎是由道場

<table data-dojo-type="dojox.grid.DataGrid" style="height:100px;"> 
<thead> 
    <tr> 
    <th field="col1" width="auto">Col 1</th> 
    <th field="col2" width="100px" style="text-align:right;">Col 2</th> 
    <th field="col3" width="100px" style="text-align:right;">Col 3</th> 
    </tr> 
</thead> 
</table> 
+0

你想幹什麼此屬性右對齊?列本身?或列中的文字?我放了一個快速小提琴演示網格a dojo文檔(http://jsfiddle.net/jrkeller/3h6MN/),但我不認爲我明白你的要求。 – BuffaloBuffalo 2012-07-18 13:12:48

+0

@BuffaloBuffalo - 我希望列中的文本是正確對齊的。 Col2和Col3有2位小數的數字。我想要小數點排列。 – Danish 2012-07-18 13:14:54

+0

@BuffaloBuffalo - 謝謝你的jsfiddle,我無法正確的對齊那裏的文字 – Danish 2012-07-18 13:38:02

回答

2

您需要使用styles屬性上<th>元素被完全忽略。顧名思義,這個屬性指定了哪些css樣式適用於該列的<td>

示例標記:

<body class="claro"> 
    <table data-dojo-type="dojox.grid.DataGrid" style="width:100%" store="myStore"> 
     <thead> 
      <tr> 
       <th field="col1" width="auto" align="left">Col 1</th> 
       <th field="col2" width="100px" align="left">Col 2</th> 
       <th field="col3" width="100px" align="right" styles="text-align:right;">Col 3</th> 
      </tr> 
     </thead> 
    </table> 
</body> 

例JS:

dojo.require('dojox.grid.DataGrid'); 
dojo.require('dojo.parser'); 
dojo.require('dojo.data.ItemFileWriteStore'); 
dojo.ready(function() { 
    var data = { 
     identifier: 'id', 
     items: [] 
    }; 
    var data_list = [ 
     { 
     col1: "normal", 
     col2: false, 
     col3: 29.91}, 
    { 
     col1: "important", 
     col2: false, 
     col3: 9.33}, 
    { 
     col1: "important", 
     col2: false, 
     col3: 19.34} 
    ]; 
    var rows = 60; 
    for (var i = 0, l = data_list.length; i < rows; i++) { 
     data.items.push(dojo.mixin({ 
      id: i + 1 
     }, data_list[i % l])); 
    } 
    myStore = new dojo.data.ItemFileWriteStore({ 
     data: data 
    }); 

    dojo.parser.parse(); 
});​ 

http://jsfiddle.net/jrkeller/3h6MN/1/

我發現在 「工作與網格」 教程here

+0

謝謝,這工作!我很尷尬,我已經通過該教程來創建我編程生成的所有網格,並且應該已經更好地知道只是以聲明性格式嘗試它。 – Danish 2012-07-18 15:17:21

+0

對於放置HTML元素的'styles'屬性是非常不直觀的。 – BuffaloBuffalo 2012-07-18 16:31:52

相關問題