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

これを行う方法は、行でインデックス値を使用し、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 に答える
0

テーブルの行にデータを渡す、文書化されていない方法を見つけました。同じ問題を抱えているこのスレッドを誰かが見つけた場合に備えて、ここに配置します。文書化されていないため、いつでも変更される可能性があります。

以下を使用してデータを添付できます。 list._view._rows[#list._view._rows].data = data

dataこれは、メソッドに追加するのと同じように機能しinsertRowます。

touch メソッドでこのデータにアクセスするには、次のようにします。event.target.data

于 2013-05-08T10:16:46.067 に答える