2016-11-27 5 views
0

все: Это моя проблема. Я пытаюсь показать содержимое выбранной строки в TableView при щелчке.Как я могу получить доступ к содержимому строки в TableView, щелкнув строку

В onRowRender я добавить строки этим способом,

local function onRowRender(event)  
    local row = event.row 
    local myText = ""  
    local myText = display.newText(row,"Text to show",150,row.contentHeight/2,native.systemFontBold,30) 
end 

В onRowTouch случае я попытался это,

local function onRowTouchTable(event)  
    print(menuPedidos._view._rows[row.index]) //it return a table, I assumed the row selected 
    print(menuPedidos._view._rows[row.index].mytext) //it return nil 
end 

И что мне нужно, это текст сохраняется в объекте MyText

Я буду признателен за любую помощь, спасибо

ответ

1

Я думаю, что вы должны хранить свои данные в отдельной переменной, передать ее в параметрах в insertRow и установить идентификатор строки также в insertRow, чтобы ссылаться на них позже.

Пример

for i = 1, #myData do 
    myList:insertRow{ 
     rowHeight = 60, 
     id = i, 
     isCategory = false, 
     rowColor = { 1, 1, 1 }, 
     lineColor = { 0.90, 0.90, 0.90 }, 
     params = { 
     name = myData[i].name, 
     phone = myData[i].phone 
     } 
    } 
end 

Так onRowTouchTable вы можете сделать что-то подобное

local function onRowTouchTable(event) 
    local row = event.target 
    local id = row.index -- or row.id I'm not sure 

    print(myData[id]) 
end 

Больше информации вы найдете на Corona blog. Кроме того, вы можете увидеть видео youtube Corona University - Displaying Database Data Using TableView Widgets.

+0

ok Получаю, но есть другое решение? просто знать. –

+0

Я не знаю другого решения. – ldurniat