在dojo中使用控件datagrid,發現很多時候我們沒辦法在自己定義某些樣式,顯得很不隨機。
以下是自己書寫時總結的一些經驗:
首先,對一般設置class屬性後,想要起樣式遵循當前應用,這是改變不大,只需要:
.tundra .dojoxGrid,.tundra .dojoxGridS,.tundra .dojoxGridScrollbox{
background-color:rgba(255,255,255,0);
}
.dojoxGridRow.dojoxGridRowOdd {
background-color: #f5f5f5;
}
.dojoxGridRow {
background-color: #e9e9e9;
}
這時候,可以改變一些應用樣式,對錶格內的背景做一些修改。但在改動head時發現,使用的是頁面自己的樣式,class改動的樣式頁面會忽略掉,這是需要在js中做修改
,修改樣式爲:
dojo.forEach(dojo.query(".dojoxGridMasterHeader th"), function(item){
dojo.style(item, "height", "30px");
});
dojo.forEach(dojo.query(".dojoxGridMasterHeader"), function(item){
dojo.style(item, "height", "30px");
});
dojo.forEach(dojo.query(".dojoxGridCell"), function(item){
dojo.style(item, "height", "30px");
});
dojo.forEach(dojo.query(".dojoxGridContent"), function(item){
dojo.style(item, "height", "80%");
dojo.style(item, "overflow-y", "auto");
});
這樣,就修改了相應想要調節的head或其他樣式的高度。
不過還有一個細節問題需要注意,就是這些修改一定在頁面初始的時候就要應用,及onload時要記得使用。