Content lost when re-opening window

Hi,

I want to open a popup window when right clicking a cell of a grid. After closing the popup window I want to re-open it when right clicking another cell of the grid. Currently my popup window doesn’t show its content when re-opening.

Initialization (doOnLoad)

[code]ksWin = new dhtmlXWindows();
ksWin.enableAutoViewport(false);
ksWin.attachViewportTo(“gridbox”);
ksWin.setImagePath(“codebase/imgs/”);

ksPartData = new dhtmlXForm(“part_data”);
ksPartData.loadStruct(“ks_root/xml/part_data.xml”);

other inits …

ksPpapClose = new dhtmlXForm(“ppap_window_close”);
ksPpapClose.loadStruct(“ks_root/xml/ppap_window_close.xml”);
ksPpapClose.attachEvent(“onButtonClick”, function(){
parent.ksWin.window(“10”).close();
});[/code]
Open the window

[code]function openForm(rId, cInd) {

if (cInd>13 && cInd<37) {
	var id, x, y, width, height, partNumber, partName;
	var ppap_timing_open = document.getElementById("ppap_timing_open");
	var ppap_timing_approved = document.getElementById("ppap_timing_approved");
	var ppap_timing_interim = document.getElementById("ppap_timing_interim");
	var ppap_timing_rejected = document.getElementById("ppap_timing_rejected");

	id = 10;
	width = 433;
	height = 392;
	x = getOffset(ksGrid.cellById(rId,cInd).cell).left - width;
	y = getOffset(ksGrid.cellById(rId,cInd).cell).top;
	win = ksWin.createWindow(id, x, y, width, height);
	win.setText(gridHeader[cInd]);
	partNumber = ksGrid.cells(rId, 0).getValue();
	partName = partNumber+' - '+ksGrid.cells(rId, 4).getValue();
	document.getElementById("part_data").innerHTML = partName;
	win.appendObject("part_data");
	win.appendObject("ppap_status");
	win.appendObject("ppap_upload_form");
	win.appendObject("ppap_timing_open");
	ppap_timing_open.style.display = "block";
	win.appendObject("ppap_timing_approved");
	ppap_timing_approved.style.display = "none";
	win.appendObject("ppap_timing_interim");
	ppap_timing_interim.style.display = "none";
	win.appendObject("ppap_timing_rejected");
	ppap_timing_rejected.style.display = "none";

	win.appendObject("ppap_upload_button");
	win.appendObject("ppap_submit_form");
	win.appendObject("ppap_window_close");
	win.denyResize();
	win.button("minmax1").hide();
	win.button("park").hide();
	win.keepInViewport(true);
}

}[/code]

As I’m a beginner, I don’t know if my approach is wrong or if I just made a mistake.
Can somebody help?

After the window is closed, its content removed. You may call hide() method and block window closing. If onClose event handler doesn’t return true, a window is not closed:

win.attachEvent("onClose",function(){ win.hide(); });
To open the window agian, you need to call show() method:

var win; function openWindow(){ if(win){ win.show(); }else{ win = dhxWins.createWindow(...); } }

It works well.
Thanks.