Categories | Question details Back To List | ||
Add Row In Grid Hi, Adding new row in parent grid by calling addRow() method but the focus is set on previous row. and on select of new row created in parent grid child grid is created with new row added for that parent row. but on every time click on new parent row child row is created i checked function parentGrid_onRowClick(rowId,cellId,value){ var parentId= parentGrid.getCellValue(rowId,'parId'); var colIndex = childgrd.getColIndexById('parentId'); childgrd.gridObj.filterBy(colIndex,parentId, false); if(childgrd.gridObj.getRowsNum() ==0){ addRow(childgrdId,0,parentId); childgrd.gridObj._srowsCol=deg_valuesDEG.gridObj._f_rowsBuffer=deg_valuesDEG.gridObj._srowsBuf=null; childgrd.gridObj.filterBy(colIndex,parentGuid, false); } } But getRowsNum() returns 0 for every time even child row is present in child grid. function addRow(currGrid,rowIndex,parentGuidValue) { mygrid=currGrid.gridObj; var className=currGrid.className; var parentGuid= null; //New row (newId) is unique in grid var newId = rowIndex+1; rowIndex=rowIndex+1; mygrid.addRow(newId,"",rowIndex); var rowId = mygrid.getRowId(rowIndex); if(parentGuidValue) parentGuid = parentGuidValue; else parentGuid=mygrid.cells2(newId,mygrid.getColIndexById("guid")).getValue(); xml_doc=fire(className); //Setting value in grid setValue(parentGuid,xml_doc,newId,mygrid); mygrid.selectRowById(newId); //Call button function setAddButton(rowIndex, mygrid.getColIndexById('markDelete')+1, mygrid, currGrid.gridName); return; } function setAddButton(rowIndex,addColIndex,mygrid,mygridName) { mygrid.cells2(rowIndex,addColIndex).cell.innerHTML='<INPUT TYPE="BUTTON" CLASS="INPUT" onClick="javascript:addRow('+mygridName+','+rowIndex+');" VALUE="Add" id="add"'+rowIndex+' />'; } function setValue(parentGuid,xml_doc,newId,mygrid) { if(xml_doc != null && xml_doc.documentElement != null) { var x=xml_doc.documentElement.childNodes; if(x != null) { for(var i=0;i<x.length;i++) { if(x[i].nodeName!="#text"){ if(xml_doc.getElementsByTagName(x[i].nodeName)[0].childNodes[0]!=null){ var nodeValue=xml_doc.getElementsByTagName(x[i].nodeName)[0].childNodes[0].nodeValue; try { mygrid.cells2(newId,mygrid.getColIndexById(x[i].nodeName)).setValue(nodeValue); } catch(e) { alert(x[i].nodeName + e.description); } } } } } } mygrid.cells2(newId,mygrid.getColIndexById("parentGuid")).setValue(parentGuid); } Answer posted by dhxSupport on Jun 23, 2009 02:44 Please provide us full working sample where we can reproduce this issue including all files which you are using to initialize grid. |