如何将一些数据附加到tableView - Corona SDK中的一行

时间:2013-05-07 10:03:51

标签: lua corona

我有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] ),但我无法在具有多个数据的表上执行此操作源。

2 个答案:

答案 0 :(得分:0)

我找到了一种将数据传递到表行的无证方法。我把它放在这里,万一有人发现这个帖子有同样的问题。由于它没有记录,它可能随时都有变化。

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

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

要使用触摸方式访问此数据,只需:event.target.data

答案 1 :(得分:0)

执行此操作的方法是使用行上的索引值和onRowRender函数内部引用数据表:

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

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

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