{ "id": "62042", "key": "TIMOB-1410", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "11225", "name": "Release 1.5.0", "archived": true, "released": true, "releaseDate": "2010-12-14" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-04-17T01:56:06.000+0000", "created": "2011-04-15T02:51:32.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "ipad", "regression", "render", "rows", "tableviewrow" ], "versions": [], "issuelinks": [], "assignee": { "name": "rseagraves", "key": "rseagraves", "displayName": "Reggie Seagraves", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2011-04-17T01:56:06.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "{html}

As the title says, any attempt at adding a child to a\ntableViewRow results in an empty row with no separators between the\nprevious and next rows.

\n

Example:

\n

Titanium.UI.setBackgroundColor('#000');
\nvar win = Titanium.UI.createWindow();
\nvar table = Ti.UI.createTableView({

\n
\nheight: 44,\nwidth: 400,\ntop: 300,\nstyle: Ti.UI.iPhone.TableViewStyle.PLAIN\n
\n

}); var tableRow = Ti.UI.createTableViewRow({

\n
\ntitle: 'Table 1',\nheight: 44,\nwidth: 400\n
\n

}); var theswitch = Ti.UI.createSwitch({

\n
\nvalue: true,\nright: 10\n
\n

}); tableRow.add(theswitch);
\ntable.appendRow(tableRow);
\nwin.add(table);
\nvar table2 = Ti.UI.createTableView({

\n
\nheight: 44,\nwidth: 400,\ntop: 600,\nstyle: Ti.UI.iPhone.TableViewStyle.PLAIN\n
\n

});

\n

var tableRow2 = Ti.UI.createTableViewRow({

\n
\ntitle: 'Table 2',\nheight: 44,\nwidth: 400\n
\n

}); table2.appendRow(tableRow2);
\nwin.add(table2);
\nwin.open();

{html}", "attachment": [ { "id": "17983", "filename": "app.js", "author": { "name": "tamasdaniel", "key": "tamasdaniel", "displayName": "Tamas Daniel", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:32.000+0000", "size": 886, "mimeType": "application/x-javascript" }, { "id": "17984", "filename": "capture-1.png", "author": { "name": "tamasdaniel", "key": "tamasdaniel", "displayName": "Tamas Daniel", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:32.000+0000", "size": 127285, "mimeType": "image/png" } ], "flagged": false, "summary": "Can't Add Children to Table Rows 1.4.0", "creator": { "name": "paularmstrong", "key": "paularmstrong", "displayName": "Paul Armstrong", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "paularmstrong", "key": "paularmstrong", "displayName": "Paul Armstrong", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "125583", "author": { "name": "paularmstrong", "key": "paularmstrong", "displayName": "Paul Armstrong", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

I fail to see how this is a low priority issue. It's clear\nintended functionality that is completely broken.
\nThe first table in this screenshot should say \"Table 1\" and have a\nswitch on it: http://grab.by/5DRf

{html}", "updateAuthor": { "name": "paularmstrong", "key": "paularmstrong", "displayName": "Paul Armstrong", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:33.000+0000", "updated": "2011-04-15T02:51:33.000+0000" }, { "id": "125584", "author": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "body": "{html}

Dude. Chill. The default priority is simply low. We're already\nworking on it at 9:50pm tonight ...

{html}", "updateAuthor": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:33.000+0000", "updated": "2011-04-15T02:51:33.000+0000" }, { "id": "125585", "author": { "name": "paularmstrong", "key": "paularmstrong", "displayName": "Paul Armstrong", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Sorry, I didn't know everything was marked that way.

{html}", "updateAuthor": { "name": "paularmstrong", "key": "paularmstrong", "displayName": "Paul Armstrong", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:33.000+0000", "updated": "2011-04-15T02:51:33.000+0000" }, { "id": "125586", "author": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "body": "{html}

OK, this looks to be an embarassing regression in 1.4.0 we\nintroduced related to non-tab groups.

\n

There is a simple workaround that has no impact.

\n

If you add a className property to your row object it will\nrender. Just make the value of your className something like\n\"switch\".

\n

If you use the same structure on multiple rows, you can use the\nsame value for className. If you have different structures on each\nrow, make sure to use a different value.

{html}", "updateAuthor": { "name": "jhaynie", "key": "jhaynie", "displayName": "Jeff Haynie", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:34.000+0000", "updated": "2011-04-15T02:51:34.000+0000" }, { "id": "125587", "author": { "name": "paularmstrong", "key": "paularmstrong", "displayName": "Paul Armstrong", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Whoops!

\n

I can confirm, adding className to a row fixes it.

{html}", "updateAuthor": { "name": "paularmstrong", "key": "paularmstrong", "displayName": "Paul Armstrong", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:34.000+0000", "updated": "2011-04-15T02:51:34.000+0000" }, { "id": "125588", "author": { "name": "tamasdaniel", "key": "tamasdaniel", "displayName": "Tamas Daniel", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

No it's not, at least on iPad.
\nI always use classNames for the rows, no matter how big or small is\nthe table, and I can say for iPad is broken.

{html}", "updateAuthor": { "name": "tamasdaniel", "key": "tamasdaniel", "displayName": "Tamas Daniel", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:34.000+0000", "updated": "2011-04-15T02:51:34.000+0000" }, { "id": "125589", "author": { "name": "tamasdaniel", "key": "tamasdaniel", "displayName": "Tamas Daniel", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Ok, here is my test case, attached.

\n

After a small scrolling they appear, but slow.

\n

So there are two issues here:
\none is the missing rows, a
\nand second is the speed - make in the for loop to render 25 rows,\nand try to scroll a little( I suppose they are related as on the\niphone is fast :) )

{html}", "updateAuthor": { "name": "tamasdaniel", "key": "tamasdaniel", "displayName": "Tamas Daniel", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:35.000+0000", "updated": "2011-04-15T02:51:35.000+0000" }, { "id": "125590", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

It was related to the infinite loop table views were having.

{html}", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:35.000+0000", "updated": "2011-04-15T02:51:35.000+0000" }, { "id": "125591", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

valid, needs testcase
\nconfirmed fixed against 1.4.1.aff269

{html}", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:51:36.000+0000", "updated": "2011-04-15T02:51:36.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }