JQGrid - d'en-tête de colonne et de ne pas s'aligner
Espère que quelqu'un pourrait me point à droite direction..
Je suis confronté à ce problème pour tout, parfois.!
J'ai essayer les solutions que j'ai trouvé de stackoverflow
par exemplejqGrid colonne ne sont pas alignés avec les en-têtes de colonne
& d'autres sources, mais aucun n'a résolu mon problème. Ce problème ne se posera après la mise à jour de Chrome 19 et au-dessus (je pense!) et safari 6. J'ai remarqué il y a pas de problème lors de l'affichage dans mon 2ème ordinateur qui est de l'utilisation de safari 5 et quand j'ai réinstaller Chrome ver 18.
J'ai essayer de mettre à jour certains des js et css fichier en le téléchargeant à partir de trirand.net mais venez pas de solution.
Actuellement, je suis en cours d'exécution Safari Version 6.0.1 (8536.26.14) et la Version Chrome 26.0.1410.43.
grâce
Mise à JOUR 2: après la mise à jour de 4.4.5 image http://imgur.com/NlY786x
& j'ai oublié de mentionner cela ne se passe lorsque je intégrer à l'intérieur de lightbox(facebox)
Mise à JOUR 3:
@Oleg je viens de réaliser après la mise à jour de 4.4.5 ou il suffit de coller ur de code (dans le commentaire)
Je ne suis pas en mesure d'utiliser mon bouton personnalisé plus de travail (b4).. rien ne se passe.
Je suis en utilisant un javascript & php jqgrid, ci-dessous mon code:
<div align="center" id="grido"> </div>
<script type="text/javascript">
//var lastSel;
$(document).ready(function(){
// $('#grido').load('form/housekeeping/dun_grid.php');
});
</script>
<script type="text/javascript">
<!-- dun_grid.js -->
jQuery(document).ready(function(){
var lastSel;
jQuery("#dun_grid").jqGrid({
url:'form/housekeeping/dun_griddata.php',
datatype: "json",
colNames:['DUN ID','DUN Code', 'DUN Name'],
colModel:[
{name:'int_dunid',index:'int_dunid', hidden:true, align:"center", width:50},
{name:'txt_dcode',index:'txt_dcode', editable:true, align:"center", width:150},
{name:'txt_dname',index:'txt_dname', editable:true, align:"center", width:150},
],
pager: '#pagerdun', //pagination enable
rowNum:15,
rowList:[10,20,30],
width:430,
height:'auto',
sortname: 'txt_dcode',
sortorder: 'asc',
hidegrid: false, //show/hide grid button on caption header
viewrecords: true, //display the number of total records
editurl:"form/housekeeping/dun.php?mode=edit",
loadtext: "Loading Data, Please Wait...",
rownumbers:true, //add row numbers on left side
caption: ' DUN List',
ondblClickRow: function(id){
if(id && id!==lastSel){
jQuery('#dun_grid').restoreRow(lastSel);
lastSel=id;
}
jQuery('#dun_grid').editRow(id, true, "", refreshing);
},
onSelectRow: function(id){
if(id && id!==lastSel){
jQuery('#dun_grid').restoreRow(lastSel);
lastSel=id;
}
},
}); /* end of jqgrid */
jQuery("#dun_grid").jqGrid('navGrid','#pagerdun',{edit:false, add:false, view:false, del:true, search:true},
{}, //edit
{}, //add
{url: 'form/housekeeping/dun.php?mode=delete'}, //delete
{multipleSearch : true},
{closeOnEscape:true}
); //end on navgrid
jQuery("#dun_grid").jqGrid('navButtonAdd','#pagerdun',{caption:"", buttonicon :'ui-icon-plus',
onClickButton:function(id){
jQuery('#dun_grid').restoreRow(lastSel);
var datarow = {txt_dname:""};
jQuery("#dun_grid").addRowData("0",datarow,"first");
jQuery('#dun_grid').editRow("0", true, "", tiesto);
lastSel=id;
},//end of onClickButton
title:"New Record",
position:"last"
}); //end of custom button
function refreshing(id){ /* refresh grid */
jQuery('#dun_grid').trigger("reloadGrid");
$.blockUI({ message:"Saving Data!!"});
setTimeout($.unblockUI, 700);
}
function tiesto(){
jQuery('#dun_grid').restoreRow(lastSel);
jQuery('#dun_grid').trigger("reloadGrid");
$.blockUI({ message:"New Data Saved!!"});
setTimeout($.unblockUI, 700);
}
}); /*end of document ready*/
</script>
<div align="center" class="gridpanel" >
<!--------------------------- ## grid for add/edit ## ------------------------------------------>
<table id="dun_grid" class="scroll" cellpadding="0" cellspacing="0"></table>
<!-- pager definition -->
<div id="pagerdun" class="scroll" style="text-align:center;"></div>
</div> <!----------------------- grid panel end -------------------------------------->
PHP
<?php
ini_set("display_errors","1");
require_once('../../Connections/jq-config.php');
//include the jqGrid Class
require_once "../../phpgrid/php/jqGrid.php";
//include the driver class
require_once "../../phpgrid/php/jqGridPdo.php";
//Connection to the server
$conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
//Tell the db that we use utf-8
$conn->query("SET NAMES utf8");
//Create the jqGrid instance
$grid = new jqGridRender($conn);
$grid->SelectCommand = 'SELECT int_bankid, txt_bank_code , txt_bank_name, txt_bank_address FROM tbl_bank';
//set the ouput format to json
$grid->dataType = 'json';
$grid->table ="tbl_bank";
$grid->setPrimaryKeyId("int_bankid");
$grid->setColModel();
$grid->setUrl('form/housekeeping/bank_grid.php');
$grid->setGridOptions(array("editurl"=>"form/housekeeping/bank.php?mode=edit"));
//Set grid option
$grid->setGridOptions(array(
"caption"=>" List of Banks",
"rownumbers"=>true,
"rowNum"=>10,
"rowList"=>array(10,20,50),
"sortname"=>"txt_bank_code",
"hoverrows"=>true,
"hidegrid"=>false,
"height"=>'auto',
"width"=>460,
"sortorder"=>'desc',
"loadtext" => "meloading data...",
"cmTemplate"=>array("searchoptions"=>array("sopt"=>array('eq','ne','lt','le','gt','ge','bw','bn','in','ni','ew','en','cn','nc')))
));
//Change some property of the field(s)
$grid->setColProperty("int_bankid", array("label"=>"ID", "width"=>50, "align"=>"center", "hidden"=>true));
$grid->setColProperty("txt_bank_code", array("label"=>"Code", "width"=>60, "align"=>"center", "editrules"=>array("required"=>true)));
$grid->setColProperty("txt_bank_name", array("label"=>"Name", "width"=>130, "align"=>"center", "editrules"=>array("required"=>true)));
$grid->setColProperty("txt_bank_address", array("label"=>"Address", "width"=>200, "align"=>"center"));
//enable navbutton
$grid->navigator = true;
$grid->setNavOptions('navigator', array("pdf"=>false,"excel"=>false,"add"=>false,"edit"=>false,"del"=>true,"view"=>false ));
$grid->setNavOptions('del',array("url"=>"form/housekeeping/bank.php?mode=delete"));
//jscript for adding new row
$reloading = <<<RELOAD
function(id)
{
jQuery("#grid").trigger('reloadGrid');
}
RELOAD;
$mycode = <<<NEWBUTTON
function(id)
{
jQuery("#grid").jqGrid('restoreRow',lastSel);
jQuery("#grid").jqGrid('addRowData',"0",{txt_bank_code:''},"first");
jQuery("#grid").jqGrid('editRow', "0", true,'',$reloading);
lastSel=id;
}
NEWBUTTON;
//jscript for inline editing
$editrow = <<<DOUBLECLICK
function(rowid)
{
if (rowid && rowid !== lastSel) {
jQuery("#grid").jqGrid('restoreRow', lastSel);
lastSel = rowid;
}
jQuery("#grid").jqGrid('editRow', rowid, true,'',$reloading);
}
DOUBLECLICK;
//custom button setting for adding new row
$buttonoptions = array("#pager", array("caption"=>"", 'buttonicon' =>'ui-icon-circle-plus', "onClickButton"=> "js:".$mycode));
//inserting custom button
$grid->setGridEvent('ondblClickRow', $editrow);
$grid->callGridMethod("#grid", "navButtonAdd", $buttonoptions);
$grid->renderGrid('#grid','#pager',true, null, null, true,true);
$conn = null;
?>
- Pas tous les jqGrid a les problèmes que vous décrivez. Screenshort peut comprendre le problème que vous avez, mais il ne pouvait pas aider à trouver la raison du problème. Vous devez modifier le texte de votre question, et d'inclure du code JavaScript qui peut être utilisé pour reproduire le problème. Si vous avez quelques démo en ligne, il serait bon de poster l'URL correspondante. Il est important d'utiliser
jquery.jqGrid.src.js
au lieu dejquery.jqGrid.min.js
dans la démo pour être en mesure de déboguer le problème. - J'ai mis à jour le jquery.jqGrid.min.js... et le problm est de minimiser..mais pas totalement résoudre...pour info @Oleg, j'ai acheté le php Suite en 2011 et je n'ai pas renouveler mon abonnement, est-il ok pour moi, de mises à jour les fichiers js par exemple avec la nouvelle?? maintenant, Im essayant de compiler ce que j'ai jusqu'à présent dans un nouveau dossier partagé ici.. je souhaite que je pourrais vous laisser entrer dans le système, mais à beaucoup de choses à l'intérieur et je ne suis pas autorisé à le faire.. sera mise à jour ...
- Voulez-vous dire jqSuite? Je ne l'utilise pas moi-même, donc je n'ai aucune idée de ce que vous pouvez faire pour le mettre à niveau sur la version actuelle de jqGrid. Je voudrais juste essayer de mettre à niveau
jquery.jqGrid.src.js
etjquery.jqGrid.min.js
à la version 4.4.5. Si il ne va pas aider, vous pouvez modifierjquery.jqGrid.src.js
comme je l'ai décrit ici et de générer de nouvellesjquery.jqGrid.min.js
à l'aide de Microsoft Ajax Minifier. - thnx @Oleg... yup jqSuite .. parce que j'ai besoin d'utiliser une partie de l'avenir rapide à ce moment .. je ne sais pas comment faire pour exporter vers excel et pdf + le tableau.. de toute façon Ive mis à jour le jquery.jqGrid.min.js et il ressemble à ceci imgur.com/NlY786x. & à propos de la modification, je ne peux pas trouver le "isSafari" etc. Est-il corrigé et n'y sont plus dans 4.4.5? ou suis-je cherche au mauvais endroit..
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce même problème et a réussi à résoudre ce problème en ajustant le CSS. J'avais mis
padding
sur leth
qui a provoqué le problème.Il est possible que votre
th
héritepadding
qui est la pagaille dans l'alignement.Si le rembourrage sur la
th
est différent de celui de la grille de cellules (en particulierpadding-left
etright
) il va casser l'alignement.Essayez de définir la propriété
shrinkToFit
commetrue
;Comme indiqué dans le wiki
Ajouter ce code dans le
gridComplete
événement de votre grille. N'oubliez pas de remplacer legridName
avec votre grilleid
:Fonctionne avec v. 4.6.0.