Titanium SDK版本:1.7.0 iPhone SDK版本:4.2
我正在使用Appcelerator开发iOS应用。 在这个应用程序中,我有一个窗口,其中包含一个联系人数据表。 用户可以单击此表中的项目,并在可以的位置打开一个新窗口 编辑联系人详细信息,然后单击“保存”。
用户点击保存后,我希望父窗口中的表格更新所点击行的数据,并从编辑窗口发回信息。
我的问题是。如果获得行索引,如何更新特定行中的标签? 我打算从自定义事件中进行此更新,因此我不会仅使用e.index作为示例5的“已保存”索引号。
我知道有一个名为“updateRow”的函数,但我似乎只能更新行的标题而不是其子元素。
感谢所有输入!
答案 0 :(得分:2)
这是我要采取的方法。
假设
在“保存”按钮上单击win2,在关闭窗口之前触发包含更新的联系人详细信息的事件;
Ti.App.fireEvent('contact.change' , updatedContactObject );
// Do database save here if required
win2.close();
在win1中添加eventListener:
Ti.App.addEventListener( 'contact.change' , function(e){
var updatedContactObject = e.updatedContactObject;
//
// update the array and the row here
//
data[ updatedContactObject.id ] = updatedRowData;
table1.setData(data);
});
答案 1 :(得分:0)
根据我的经验,每次进行更改时最好tableView.setData(rowArray)
,而不是selectRow,updateRow等。关于实际的行元素,您应该能够使用row.children [x]进行导航。孩子[X]。问题是你必须密切关注层次结构。如果您找到更好的方法,请告诉我们!