number column colmodel jquery jqgrid jqgrid-php jqgrid-formatter

jquery - colmodel - jqgrid order column



Cómo deseleccionar la fila seleccionada de jQgrid cuando el valor del campo de texto del formateador personalizado está vacío (1)

Tengo la respuesta.

Si el valor del campo de texto es cero mientras selecciona la fila particular en jqgrid en ese momento, valide eso con javascript y desmarque la fila seleccionada de la grilla.

Aquí está el código de trabajo que pegué a continuación:

if(daysrequired=="0") { myGrid.jqGrid(''resetSelection''); }

  • myGrid es mi identificación de cuadrícula
  • resetSelection es un método en jQGrid para deseleccionar las filas seleccionadas.

Cuando traté de marcar la casilla de verificación en jQgrid seleccionando los valores que están bien, y en eso tengo el campo de texto formateador personalizado sin ingresar los valores en el campo de texto e intenté seleccionar la casilla de verificación, mostraré el mensaje de alerta después de eso Desmarcaré la casilla de verificación pero el foco no se eliminará de la cuadrícula.

He adjuntado la captura de pantalla por favor hágamelo saber la respuesta.

el código está pegado aquí:

jQuery("#list1").jqGrid({ url:actionurl, mtype: ''POST'', colNames:[''PartnerId'', ''Employee No'',''Employee Name'' ,''Position'', ''Position Id'', ''Wages'',''Relieve Date'',''Days Required''], colModel:[ {name:''partnerId'',index:''partnerId'', width:280,sortable:true,search:false, hidden: true}, {name:''em_ka003_employeeno'',index:''em_ka003_employeeno'', width:200,sortable:true}, {name:''empname'',index:''empname'', width:280,sortable:false,search:false}, {name:''position'',index:''position'', width:250,sortable:false,search:false}, {name:''positionId'',index:''positionId'', width:0,sortable:false,search:false,hidden:true}, {name:''wages'',index:''wages'', width:100,sortable:false,search:false}, {name:''emp_relievedate'',index:''emp_relievedate'', width:200,sortable:false,search:false}, {name:''daysrequired'',index:''daysrequired'', width:140,sortable:false,search:false,formatter:createText}, ], rowNum:10, rowList:[5,10,15], pager: ''#pager1'', sortorder: "asc", sortname: ''em_ka003_employeeno'', viewrecords: true, rownumbers: true, loadonce: false, forceFit: true, datatype: ''xml'', multiselect: true , footerrow:true, userDataOnFooter:true, onSelectRow: function(rowId) { handleSelectedRow(rowId); }, caption: "<b>Labor Extension", gridComplete: function() { $.unblockUI(); } });

Esta es mi función de formateador personalizada:

function createText(el, cellval, opts) { return "<span><input class=''dojoValidateValid required TextBox_OneCell_width number'' type=''text'' id=''days_req"+cellval.rowId+"'' name=''days_req"+cellval.rowId+"'' onKeyPress=''return checkIt(event,false)''/></span>"; } function handleSelectedRow(id) { var jqgcell = jQuery(''#list1'').getCell(id, ''partnerId''); var daysrequired = jQuery("#days_req"+id+"").val(); var cbIsChecked = (jQuery("#jqg_list1_"+jqgcell).attr(''checked'')); if(cbIsChecked==true) { /* Append the Days Required */ if(daysrequired=="") { alert("please enter the extension days"); jQuery("#days_req"+id+"").focus(); jQuery("#jqg_list1_"+jqgcell).attr(''checked'', false); jQuery(''#list1'').restoreRow(id); return false; } }