What is combo.save(), combo.restore() and combo.remove()? No

I was looking at the provided sample for using combo in grids and found the follow code:



function myf(stage,id,index){

var ind=mygrid.getRowIndex(id);

if ((index==5)&&(stage==0))//start edit Shipping column

{

var combo=mygrid.getCombo(5);

if (ind%2==1){ //for even rows

combo.save(); //save initial state

combo.remove(1);

combo.remove(2);

combo.remove(3);

}

else{

combo.save(); //save initial state

combo.remove(4);

combo.remove(5);

combo.remove(6);

}

}



if ((index==5)&&(stage==2)) //for finishing edit

mygrid.getCombo(5).restore(); //restore combo state

return true;

}





What is combo.save(), combo.restore() and combo.remove()? Nothing in the documentation about them or what they do?



Can you please explain?



Daniel,

Managing selectbox collection ( co, coro excells )


To get collection common for whole column next method can be used
combo = grid.getCombo(index);
if collection need to be specific for cell
combo = grid.getCustomCombo(index)

The collection supports next API

    combo.put(value,label) - add new record in collection
    combo.remove(value) - remove record from collection
    combo.clear() - remove all records from collection

    combo.size() - return current size of combobox
    combo.get(value) - returns label by value
    combo.getKeys() - return an array of all possible values

    combo.save() - save current state
    combo.restore() - restore previously saved state


The less common use-case - get value by label can be done with next code

var value = combo.values[combo.keys._dhx_find(key)];






Thank you.



Is this mentioned  anywhere in the documentation provided with each release?



Daniel,

Current documentation has only brief mentioning of combo methods, the text above taken from draft of extended documentation, which will be released in nearest time.