Hello,
i have a layout pattern 4W.
i attach dataview in each layout cell.
randomly, one or many dataview are not correctly load in the layout cell.
result : when i call the dataview::add function, the item appears in the wrong dataview.
i have not javascript error.
I noticed that when that happens, the value dhtmlXDataView::$view:div is the same for different dataview.
Can you help me please?
Stephane
sematik
September 7, 2018, 3:02pm
#2
Please, make sure that each your dataview object has a unique name. Like: dataview1, myDataView, parentDataView, dataview_main…
Yes, each datagrid has a unique name (already checked)
Please see my code below : dw1, dw2, dw3, dw4
dw1 = myLayout.cells("a").attachDataView({
width:300,
type:{
template:dw_template,
height:60, padding:0, margin:2, border:1
},
autowidth:1,
drag:false
});
dw2 = myLayout.cells("b").attachDataView({
width:300,
type:{
template:dw_template,
height:60, padding:0, margin:2, border:1
},
autowidth:1,
drag:true
});
dw3 = myLayout.cells("c").attachDataView({
width:300,
type:{
template:dw_template,
height:60, padding:0, margin:2, border:1
},
autowidth:1,
drag:true
});
dw4 = myLayout.cells("d").attachDataView({
width:300,
type:{
template:dw_template,
height:60, padding:0, margin:2, border:1
},
autowidth:1,
drag:true
});
Thanks
sematik
September 11, 2018, 11:17am
#4
Unfortunately the problem cannot be reconstructed locally.
Please, refer to the following snippet:
http://snippet.dhtmlx.com/6095aea92
If the problem still occurs for you please, provide a complete demo or a demo link, where the problem can be reconstructed locally.
Thanks
I reproduced with your example by regularly doing F5
The item was displayed in the dw2 dataview (in less than 10 times).
sematik
September 12, 2018, 12:49pm
#6
The problem is confirmed. As a temporal solution please, try to include the following code on your page:
dhtmlXCellObject.prototype.attachDataView = function(conf) {
this.callEvent("_onBeforeContentAttach",["dataview"]);
var obj = document.createElement("DIV");
obj.style.width = "100%";
obj.style.height = "100%";
obj.style.position = "relative";
obj.style.overflow = "hidden";
this._attachObject(obj);
if (typeof(conf) == "undefined") conf = {};
obj.id = "DataViewObject_"+ dhtmlx.uid();
conf.container = obj.id;
conf.skin = this.conf.skin;
this.dataType = "dataview";
this.dataObj = new dhtmlXDataView(conf);
this.dataObj.setSizes = function(){
this.render();
}
obj = null;
this.callEvent("_onContentAttach",[]);
return this.dataObj;
};
Everything is OK
Thank-you for your prompt response