我正在使用jqGrid 3.5。我可以改變網格的樣式和外觀,並使用jQuery或自定義CSS或其他東西使它更漂亮嗎?更改jqGrid的樣式
回答
我相信你可以。
您有兩個選擇:
您可以修改網格的CSS。 如果必須對設計進行小修改,這非常有用。 不應該這樣做主要的修改,因爲JQGrid的CSS類真的相互依賴。
或者您可以從HTML中刪除所有樣式,並將其替換爲您自己的樣式。
比如你有一個類似的jqGrid:
HTML
<table id="list2" class="scroll" cellpadding="0" cellspacing="0"></table>
<div id="pager2" class="scroll" style="text-align:center;"></div>
jQuery的
jQuery("#list2").jqGrid({ url:'server.php?q=2',
datatype: "json",
colNames:['Inv No','Date'],
colModel:[ {name:'id',index:'id', width:55},{name:'invdate',index:'invdate',width:90}],
rowNum:10,
rowList:[10,20,30],
pager: jQuery('#pager2'),
sortname: 'id',
viewrecords: true,
caption:"JSON Example" }).navGrid('#pager2',{edit:false,add:false,del:false});
這將產生類似下面的HTML:
<div class="ui-jqgrid-titlebar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix">
..
</div>
刪除所有CSS類:
JQuery("#list2").removeClass(".ui-jqgrid-titlebar");
等
你創建你自己的類後,您可以添加到HTML結構:
JQuery("#list2").addClass(".YourClass");
我建議同時使用技術。
jqGrid 3.5的一大特性是與jQuery UI主題的集成。您可以從here構建和/或選擇一個主題。然後只需在頁面中添加一個引用:
<link rel="stylesheet" type="text/css" href="../css/redmond/jquery-ui-1.7.2.custom.css"/>
這將爲您提供一個看起來非常好的網格,並且極少費力。
這是否解決了您的問題,還是您需要更新網格外觀?
是的,這是一個非常酷的工具,但它有一定的侷限性,你無法從那裏解決任何樣式問題。 – 2009-09-16 12:03:34
同意,但它比jqGrid帶來的更好。從那裏它取決於您的需求是否jQuery主題足夠好或者如果您必須推出自己的CSS。 – 2009-09-16 13:20:39
如果我想在添加或更新按鈕時更改JQGrid添加窗體的CSS,該怎麼辦? – 2012-08-13 05:27:05
要闡述什麼賈斯汀·西爾說...
由於jqGrid的使用jQuery的UI主題,以更改網格的外觀將是使一個自定義theme的最佳途徑。
我強烈建議你在嘗試修改css之前,看看它是否適用於你......儘管你也可以這樣做,如果jquery-ui主題看起來太過於侷限於你。
如果我想在添加或更新按鈕時更改JQGrid添加窗體的CSS,該怎麼辦? – 2012-08-13 05:32:45
您需要更改網格標題(即時)。
這是我的代碼
的HTML:
<table id="jqgrid_ctrs" class="scroll" cellpadding="0" cellspacing="0"></table>
<div id="jqgrid_ctrs_pager" class="scroll" style="text-align:center;"></div>
的jqGrid的:
jQuery("#jqgrid_ctrs").jqGrid({
url:'php-modules/controllers_data.php?ctrtype=LED',
datatype: "json",
width:500,
height:"auto",
colNames:['CtrName','Type', 'Description', 'Location'],
colModel:[
{name:'CtrName',index:'CTRNAME', width:70, editable:false},
{name:'Type',index:'CTRTYPE', width:70, editable:false},
{name:'Description',index:'CTRDESCR', width:250, editable:false},
{name:'Location',index:'CTRLOCATION', width:70, editable:false}
],
rowNum:10,
rowList:[10,20,30],
pager: jQuery('#jqgrid_ctrs_pager'),
sortname: 'CtrName',
viewrecords: true,
sortorder: 'desc',
caption:'System Controllers',
}).navGrid('#jqgrid_ctrs_pager',
{search:true,edit:false,add:false,del:false}
);
爲了瞭解哪個對象我有工作的,讓我們檢查由JavaScript代碼生成的HTML代碼:
<div id="gview_jqgrid_ctrs" class="ui-jqgrid-view" style="width: 760px;">
<div class="ui-jqgrid-titlebar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix"></div>
<div class="ui-state-default ui-jqgrid-hdiv" style="width: 760px;">
...
現在,指定一個ID唯一DIV是< DIV ID = 「gview_jqgrid_ctrs」 ......
這就是爲什麼下面不工作。
jQuery("#jqgrid_ctrs").removeClass('.ui-widget-header');
jQuery("#jqgrid_ctrs").addClass('.jqgrid-header');
我不得不選擇父DIV和「搜索到」報頭的div,具有指定的「UI-的jqGrid-標題欄」級。然後,我刪除了原來的「ui-widget-header」類,並用我自己的類替換。
$("#gview_jqgrid_ctrs .ui-jqgrid-titlebar").removeClass('ui-widget-header');
$("#gview_jqgrid_ctrs .ui-jqgrid-titlebar").addClass('jqgrid-header');
其中.jqgrid-header是以這種方式定義的樣式。
.jqgrid-header {
background:#FF9C00 url(images/new_header_bck.png) repeat-x scroll 50% 50%;
border:1px solid #4297D7;
color:#FF0000;
font-weight:bold;
}
我已經測試過這個並且工作。希望這將是有益的......
這幫了我很多,謝謝! – 2010-05-24 00:55:32
如果我想在添加或更新按鈕時更改JQGrid添加窗體的CSS,該怎麼辦? – 2012-08-13 05:28:03
只是爲了優化,可以在一個選擇器中完成:'$(「#gview_jqgrid_ctrs .ui-jqgrid-titlebar」)。toggleClass(「ui-widget-header jqgrid-header」); – Impirator 2013-03-18 21:44:30
/* Remove jquery-ui styles from jqgrid */
function removeJqgridUiStyles(){
$(".ui-jqgrid").removeClass("ui-widget ui-widget-content");
$(".ui-jqgrid-view").children().removeClass("ui-widget-header ui-state-default");
$(".ui-jqgrid-labels, .ui-search-toolbar").children().removeClass("ui-state-default ui-th-column ui-th-ltr");
$(".ui-jqgrid-pager").removeClass("ui-state-default");
}
您可以刪除所有的用戶界面,網格類:
$("[class^='ui-jqgrid']").removeAttr('class');
這可能有性能問題,如果您的網格大小大。
我以新的方式修改了jQGrid的css,這也將支持bootastrap設計。你需要下面的東西來配置此jqGrid的
1)字體真棒風格
2)jqGrid的最新束
新設計的jqGrid看起來像下面的圖片
新的完整的CSS和完整的javascripts編碼在這裏包括http://www.techdoubts.net/2015/11/working-jqgrid-responsive-css-boostrap.html。
- 1. jqgrid formatter'actions' - 更改編輯按鈕樣式
- 2. 如何更改jqgrid分頁樣式
- 3. jqGrid + twitter引導(2.1.0):navbar更改樣式
- 4. 在jqGrid中更改組中行的樣式/字體
- 5. 更改樣式
- 6. 更改樣式Google地圖的樣式
- 7. jqGrid表格樣式
- 8. 更改狀態更改的樣式
- 9. 更改CSS樣式
- 10. 更改TimePicker樣式
- 11. OnClick樣式更改
- 12. 更改RadWindow樣式
- 13. 更改類中的樣式
- 14. 更改UITableViewController的樣式
- 15. mxCell的更改樣式
- 16. 更改AlertDialog的樣式
- 17. 更改CFGRID的樣式
- 18. 更改android MediaController的樣式
- 19. Onclick更改div樣式+ onclick外部div刪除樣式更改
- 20. 文本更改後更改樣式
- 21. jqgrid更改指針
- 22. jqgrid。更改主題
- 23. jqGrid更改行值
- 24. 將樣式應用到jqgrid
- 25. 更改seacrhGrid中的searchFields - jqGrid
- 26. 如何更改的jqGrid
- 27. 更改jqGrid中的語言
- 28. 更改JqGrid列的序列
- 29. 更改Kohaha形式的樣式
- 30. 更改PDF文件樣式
如果我想在添加或更新按鈕時更改JQGrid添加窗體的CSS,該怎麼辦? – 2012-08-13 05:28:20