Okay I can reproduce it on the demo site. I adapted this example:
http://www.smartclient.com/index.jsp#databoundFetch
with the code below. The code below adds a record component to each row in the first column.
To reproduce, scroll down to the bottom and then scroll up again. It is a bit random so you have to try maybe several times. But it took me only a few times to get non-drawn record components.
What you see is that the cell value is shown and no recordcomponent is drawn in the cell. See the attached screenshot.
Also it seems to go wrong if the record component is a layout, with just images it seems to work better.
This is on chrome 12 on Ubuntu, but it has been reported to me also on other browsers, I see it in the nightly 8.1 build from friday.
isc.ListGrid.create({
ID: "countryList",
width:500, height:224,
dataSource: worldDS,
autoFetchData: true,
showRecordComponents: true,
showRecordComponentsByCell: true,
canRemoveRecords: true,
recordComponentPoolingMode: 'recycle',
poolComponentsPerColumn: true,
data: countryData,
fields: [
{ name: "capital"},
{ name: "countryName", title: "Country" }
],
createRecordComponent : function (record, colNum) {
if (colNum == 0) {
var recordCanvas = isc.HLayout.create({
height: 22,
align: "center"
});
var editImg = isc.ImgButton.create({
showDown: false,
showRollOver: false,
layoutAlign: "center",
src: "icons/16/comment_edit.png",
prompt: "Edit Comments",
height: 16,
width: 16,
grid: this,
click : function () {
isc.say("Edit Comment Icon Clicked for country : " + record["countryName"]);
}
});
var chartImg = isc.ImgButton.create({
showDown: false,
showRollOver: false,
layoutAlign: "center",
src: "icons/16/chart_bar.png",
prompt: "View Chart",
height: 16,
width: 16,
grid: this,
click : function () {
isc.say("Chart Icon Clicked for country : " + record["countryName"]);
}
});
recordCanvas.addMember(editImg);
recordCanvas.addMember(chartImg);
return recordCanvas;
}
},
dataPageSize: 50
})
