{ "id": "63938", "key": "TIMOB-3306", "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": [], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2016-09-14T08:51:30.000+0000", "created": "2011-04-15T03:41:48.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "api" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [], "assignee": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-23T21:50: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": "I need to be able to hide/show table view rows. The docs say hide() and show() exist, but they have no effect. Setting height=0 or visible=false (both in the docs) also do not work.\r\n\r\nAlternatively, add support for deleteRow(tblRowObjectReference) and insertRowAfter(tblObjectReference) rather than by index number.\r\n\r\nI need to be able to hide/show the same table row based on user's other selections. User selects a product, related options in a table need to hide/show as a result. But if they switch back, I need those original selections back in the same order. Using indexes gets very complex and all my attempts just result in exceptions/crashes.\r\n\r\nUsing Ti SDK 1.6.0 tested on both iOS 4.2 simulator and Android 2.1 SDK emulator.", "attachment": [], "flagged": false, "summary": "TiAPI: Ti.UI.TableViewRow hide()/show() doesn't work", "creator": { "name": "skypanther1", "key": "skypanther1", "displayName": "skypanther", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "skypanther1", "key": "skypanther1", "displayName": "skypanther", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "218005", "author": { "name": "jyounus", "key": "jyounus", "displayName": "Junaid Younus", "active": true, "timeZone": "Europe/London" }, "body": "Tested on a Samsung Galaxy S2 and on the iOS simulator using TiSDK 2.2.0v20120906100912, issue still valid. \r\n\r\ninsertRowAfter/inserRowBefore have both been implemented, according to the docs: http://docs.appcelerator.com/titanium/2.1/index.html#!/api/Titanium.UI.TableView-method-insertRowAfter\r\n\r\nI tested tableViewRow.hide() and it doesn't work on iOS and Android, nothing happens. tableViewRow.visible = false also doesn't work on iOS but hides the label on Android.\r\n\r\nTest code:\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({backgroundColor: 'white'});\r\n\r\nvar tableData = [Ti.UI.createTableViewRow({ title: 'Apples' }),\r\n Ti.UI.createTableViewRow({ title: 'Bananas' }),\r\n Ti.UI.createTableViewRow({ title: 'Carrots' }),\r\n Ti.UI.createTableViewRow({ title: 'Potatoes' })];\r\n\r\nvar table = Ti.UI.createTableView({\r\n data: tableData\r\n});\r\n\r\ntableData[2].visible = false;\r\ntableData[1].hide();\r\n\r\nwin.add(table);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "jyounus", "key": "jyounus", "displayName": "Junaid Younus", "active": true, "timeZone": "Europe/London" }, "created": "2012-09-07T11:31:44.000+0000", "updated": "2012-09-07T11:31:44.000+0000" }, { "id": "233727", "author": { "name": "schmidetzki", "key": "schmidetzki", "displayName": "Wolfgang Schmidetzki", "active": true, "timeZone": "Europe/Berlin" }, "body": "I also miss this this \"feature\".\r\nSetting visible=false on a tableviewrow does have no effect.\r\nIt should.", "updateAuthor": { "name": "schmidetzki", "key": "schmidetzki", "displayName": "Wolfgang Schmidetzki", "active": true, "timeZone": "Europe/Berlin" }, "created": "2013-01-09T14:09:59.000+0000", "updated": "2013-01-09T14:09:59.000+0000" }, { "id": "260575", "author": { "name": "sourabh@volitionlabs.com", "key": "sourabh@volitionlabs.com", "displayName": "sourabh kaley", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Any update here??\r\nCan anyone suggest alternate solution pls", "updateAuthor": { "name": "sourabh@volitionlabs.com", "key": "sourabh@volitionlabs.com", "displayName": "sourabh kaley", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-07-02T08:01:32.000+0000", "updated": "2013-07-02T08:01:32.000+0000" }, { "id": "270993", "author": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This is not normal. More than two years old bug. Again lost time with workaround.", "updateAuthor": { "name": "sko", "key": "sko", "displayName": "Matej", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-12T23:56:20.000+0000", "updated": "2013-09-12T23:57:27.000+0000" }, { "id": "372236", "author": { "name": "mdelmarter", "key": "mdelmarter", "displayName": "Matthew Delmarter", "active": true, "timeZone": "Pacific/Auckland" }, "body": "Searching for a solution to this issue shows so many Q&A tickets open and comments from frustrated users. Really don't understand why this hasn't been given higher priority...", "updateAuthor": { "name": "mdelmarter", "key": "mdelmarter", "displayName": "Matthew Delmarter", "active": true, "timeZone": "Pacific/Auckland" }, "created": "2015-12-07T00:35:02.000+0000", "updated": "2015-12-07T00:35:02.000+0000" }, { "id": "392303", "author": { "name": "brentonhouse", "key": "brentonhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "body": "I know this is a really old ticket, but is there any chance this is going to be looked at? Thanks!", "updateAuthor": { "name": "brentonhouse", "key": "brentonhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "created": "2016-08-03T15:26:32.000+0000", "updated": "2016-08-03T15:26:32.000+0000" }, { "id": "396098", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "The {{Ti.UI.TableView}} API wraps the {{UITableView}} on iOS and the {{android.widget.ListView}} on Android. Both API's don't work with hiding and showing rows. Instead, they offer an API that we also use to hide and show API's:\r\n\r\n- To hide a row, use [deleteRow|http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TableView-method-deleteRow]\r\n- To show a row, use [deleteRowBefore|http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TableView-method-insertRowBefore] or [insertRowAfter|http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TableView-method-insertRowAfter]\r\n\r\nThat's the proper way to go. The main reason for that (nativ behavior) is that the section- and item-indexes need to stay in sync. By using the above methods, this is guaranteed. Thanks!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-09-14T08:51:30.000+0000", "updated": "2016-09-14T08:51:30.000+0000" }, { "id": "415428", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket with reference to the above comment.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-23T21:50:06.000+0000", "updated": "2017-03-23T21:50:06.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }