我能够将文本集中在标题中,使用:
[colid="startstop"].gridxCell{
text-align: center;
}
我认为这会使属于startstop列的所有行单元居中,但事实并非如此。我的startstop列在每行中包含一个按钮。我有两个像这样的列。如何将按钮置于我选择的三列中心?
这是我的结构:
{ id: 'startstop', field: 'startstop', name: 'Start/Stop', width: '61px',
widgetsInCell: true,
navigable: true,
allowEventBubble: true,
decorator: function(){
//Generate cell widget template string
return [
'<button data-dojo-type="dijit.form.Button" ',
'data-dojo-attach-point="btn" ',
'class="startStopButton" ',
'data-dojo-props= ',
'"onClick: function(){',
'alert(\'Start/Stop\');',
'}"><img src="images/1413390026_control.png" /></button>'
].join('');
},
setCellValue: function(data){
//"this" is the cell widget
this.btn.set('label', data);
}
},
这是我的css类 - 它现在只有按钮的大小,因为我有其他麻烦让它自己工作 - 但这是另一个问题。
.startStopButton .dijitButtonNode {
width: 16px;
height: 16px;
text-align: center;
}
答案 0 :(得分:0)
如果要在单元格中包含小部件,建议使用widgetsInCell
标记以及onCellWidgetCreated
和setCellValue
方法(如文档here所示)
以下是我如何使用带有水平滑块的单元格:
{
id: 'scoreColId',
field: 'score',
name: 'Score',
width: '15%',
// flag there are widgets in cell so that they are destroyed when grid is destroyed
widgetsInCell: true,
// method to create the widget (no cell-specific data yet)
onCellWidgetCreated: function(cellWidget, column) {
// outer div to center align the widget inside placed in the cell
var outerDiv = domConstruct.create('div', {
style: {
'text-align': 'center'
}
}, cellWidget.domNode);
// create the widget and place it in the div (already inside the cell)
cellWidget.slider = new HorizontalSlider({
minumum: 0,
maximum: 10,
});
cellWidget.slider.placeAt(outerDiv);
},
// set each cell with it's specific data
setCellValue: function(gridData, storeData, cellWidget) {
var score = gridData.docScore;
cellWidget.slider.set('value', score);
}
},