2012-12-26 39 views
2

我有一個與複選框的列表視圖。我想要在列表視圖中獲取所選項目的值。我怎樣才能達到上述..?如何從黑莓10級聯中的複選框選定項獲取值?

我已經發布了下面的截圖:

Screen shot

這是我曾嘗試:

//列表視圖聲明及其元素:

ListView { 
       verticalAlignment: VerticalAlignment.Center 
       horizontalAlignment: HorizontalAlignment.Center 
       layout: FlowListLayout { 
       } 
       dataModel: grouplistdatamodel 
       listItemComponents: [ 

        ListItemComponent { 
         type: "item" 
         Container { 
          Container { 
           layout: StackLayout { 
            orientation: LayoutOrientation.TopToBottom 
           } 
           verticalAlignment: VerticalAlignment.Center 
           horizontalAlignment: HorizontalAlignment.Center 
           preferredWidth: 768 
           Container { 
            verticalAlignment: VerticalAlignment.Center 
            layout: StackLayout { 
             orientation: LayoutOrientation.LeftToRight 
            } 
            CheckBox { 
             verticalAlignment: VerticalAlignment.Center 
            id:checkboxvalues 
            text: ListItemData.firstname 
            onCheckedChanged: { 

            } 


            } 

           } 
          } 
          Divider { 
           horizontalAlignment: HorizontalAlignment.Fill 
          } 
         } 
        } 
       ] 
       onTriggered: { 
       _test.showToast(userid); 
       } 
       onCreationCompleted: { 
        group_DataSource.load(); 
       } 
      } 

請幫我整理出來。提前致謝..!

+0

我想你可以從數據模型本身得到它;當用戶選中複選框時,您也會更新數據模型的值(即項目數據模型應該具有複選框的可變狀態);所以最終,您始終可以從代表它的數據模型中獲取複選框值&狀態 – hakim

+1

您是否可以發送一些樣本來執行此操作 – Vendetta

回答

3

我不確定你想要做什麼,但這裏是如何存儲用戶檢查的所有數據。

onCheckedChanged

ListView { 
    ... 
    listItemComponents: [ 
     ... 
     onCheckedChanged: { 
      ListItem.view.checkedDataChanged(ListItemData.firstname, checked); 
     } 
     ... 
    ] 
    function checkedDataChanged(data, isChecked) { 
     controller.checkedDataChanged(data, isChecked); 
    } 
} 
... 

checkedDataChanged在列表中控制器的C++類中定義的Q_INVOKABLE

然後,您可以輕鬆管理您在QList中選擇的數據。

希望這會有所幫助!