2012-12-26 38 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中选择的数据。

希望这会有所帮助!