2011-06-30 2 views
0

Le premier clic sur l'édition d'une ligne fonctionne très bien, mais après avoir fermé la boîte de dialogue et cliqué sur un autre bouton d'édition, elle déclenche une exception. Lors du débogage j'ai vu dans jquery.min.js "#" accidents de signe, je suppose qu'il obtient en quelque sorte ce caractère invalide. Code:Avec le dialogue de modification de la ligne de grille "Exception levée et non interceptée"

$("#jqgrid").jqGrid({ 
     datatype: "local", 
     mtype: 'GET', 
     colNames: ['Pic', 'Category', 'Order', 'Name', 'Description', 'Full Price', 'Price', 'Is Pack', 'Is Active', 'Is Shipment', 'Is Pack Only', 'Attributes', 'Sites', 'Call Centers', ''], 
     colModel: [ 
         { name: 'PictureUrl', index: 'PictureUrl', width: 40, formatter: imageFormatter, align: 'center' }, 
         { name: 'CategoryID', index: 'CategoryID', width: 60, editable: true, editoptions: { size: 30, value: getProductCategories }, edittype: "select" }, 
         { name: '', index: 'ProductID', width: 40, editable: true, editoptions: { size: 30} }, 
         { name: 'ProductName', index: 'ProductName', width: 40, editable: true, editoptions: { size: 30} }, 
         { name: 'ProductDesription', index: 'ProductDesription', width: 40, editable: true, editoptions: { size: 30} }, 
         { name: 'FullPrice', index: 'FullPrice', width: 40 }, 
         { name: 'ActualPrice', index: 'ActualPrice', width: 40 }, 
         { name: 'IsPackage', index: 'IsPackage', width: 40, editable: true, editoptions: { size: 30, value: "Yes:No" }, edittype: "checkbox" }, 
         { name: 'IsActive', index: 'IsActive', width: 40, editable: true, editoptions: { size: 30, value: "Yes:No" }, edittype: "checkbox" }, 
         { name: 'IsShipment', index: 'IsShipment', width: 40, editable: true, editoptions: { size: 30, value: "Yes:No" }, edittype: "checkbox" }, 
         { name: 'IsPackageOnly', index: 'IsPackageOnly', width: 40, editable: true, editoptions: { size: 30, value: "Yes:No" }, edittype: "checkbox" }, 
         { name: '', index: '', width: 40 }, //attributes 
         {name: 'ProductInSites', index: 'ProductInSites', width: 40, editable: true, edittype: "textarea", editoptions: { rows: "2", cols: "35"} }, 
         { name: ' ', index: '', width: 40, align: 'center', editable: true, edittype: "textarea", editoptions: { rows: "2", cols: "35"} }, //callcentre 
         { name: ' ', index: '', width: 40, align: 'center', formatter: updatebutton }, //button 
        ], 
     rowNum: 20, 
     rowList: [10, 20, 30], 
     pager: '#jqpager', 
     sortname: 'OrderDate', 
     viewrecords: true, 
     sortorder: "desc", 
     caption: "Shipment Report", 
     autowidth: true, 
     height: "100%", 
     loadtext: "Loading...", 
     editurl: "ProductsList.ashx?actiontype=3" 
    }); 

Répondre

0

Vous utilisez name: '' et name: ' ' dans la définition de certaines colonnes colModel. Il est faux. La propriété name doit être un nom unique sans espaces ou special characters.

+0

Merci @ Oleg, ajouté le texte au nom: et ça fonctionne très bien. – Red

+1

@ user767204: Vous êtes les bienvenus! Si le problème est résolu, vous pouvez "accepter" la réponse (voir [ici] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235) pour plus de détails.). – Oleg

Questions connexes