1

我有一个tableView,我正在从不同的来源向它添加行。使用原始的小部件库,我能够将数据附加到该insertRow方法,但自从升级到 2.0 后,这似乎是不可能的。

我认为我应该如何附加数据:

list:insertRow{                     
    rowHeight=rowHeight,
    isCategory=isCategory,
    rowColor=rowColor,
    lineColor=lineColor,
    data=data[i]
}

data然后应该可以在触摸事件中访问:

local function onRowTouch( event )
    print( event.target.data )
end

从widget2.0开始就不是这样了。我的问题是:我怎样才能访问这些数据?

注意:在应用程序的其他部分,我已经能够通过使用行索引作为表键来引用原始数据表,例如:print( data[event.row.index] ),但我不能在具有多个数据源的表上执行此操作。

4

2 回答 2

0

我发现了一种将数据传递到表格行的未记录方式。我把它放在这里,以防有人发现这个线程有同样的问题。由于它没有记录,它可能随时更改。

您可以使用以下方法附加数据: list._view._rows[#list._view._rows].data = data

data可以是任何东西,这与将其添加到insertRow方法中的方式相同。

要在 touch 方法中访问这些数据,只需:event.target.data

于 2013-05-08T10:16:46.067 回答
0

这样做的方法是使用行上的索引值以及引用数据表的 onRowRender 函数内部:

local function onRowRender(event)
     id = event.index
     print(data[id])
end

list:insertRow{                     
    rowHeight=rowHeight,
    isCategory=isCategory,
    rowColor=rowColor,
    lineColor=lineColor,
}

使用索引值,您可以从数据中获取所需的任何内容。

于 2013-05-10T01:09:00.677 回答