Appcelerator的。更新行标签

时间:2011-07-07 08:19:20

标签: appcelerator-mobile

Titanium SDK版本:1.7.0 iPhone SDK版本:4.2

我正在使用Appcelerator开发iOS应用。 在这个应用程序中,我有一个窗口,其中包含一个联系人数据表。 用户可以单击此表中的项目,并在可以的位置打开一个新窗口 编辑联系人详细信息,然后单击“保存”。

用户点击保存后,我希望父窗口中的表格更新所点击行的数据,并从编辑窗口发回信息。

我的问题是。如果获得行索引,如何更新特定行中的标签? 我打算从自定义事件中进行此更新,因此我不会仅使用e.index作为示例5的“已保存”索引号。

我知道有一个名为“updateRow”的函数,但我似乎只能更新行的标题而不是其子元素。

感谢所有输入!

2 个答案:

答案 0 :(得分:2)

这是我要采取的方法。

假设

  1. win1包含表(table1)和 包含您的行的数组 可以更新(数据)
  2. win2就在哪里     编辑发生
  3. 在“保存”按钮上单击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]。问题是你必须密切关注层次结构。如果您找到更好的方法,请告诉我们!