我有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] )
,但我无法在具有多个数据的表上执行此操作源。
答案 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,
}
使用索引值,您可以从数据中获取所需的任何内容。