【问题标题】:How to get values from check box selected item in blackberry 10 cascades..?如何从黑莓10级联中的复选框选定项目中获取值..?
【发布时间】:2012-12-26 17:07:37
【问题描述】:

我有一个带有复选框的列表视图。我想在列表视图中获取所选项目的值。我怎样才能实现上述..?

我已经发布了下面的截图:

这是我尝试过的:

// 列表视图声明及其元素:

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();
                }
            }

请帮我解决这个问题。提前谢谢..!

【问题讨论】:

  • 我认为你可以从数据模型本身得到它;这个想法,当用户选中复选框时,您还会更新数据模型值(即项目数据模型应该具有复选框的可变状态);所以最后,您总是可以从代表它的数据模型中获取复选框值和状态
  • 你能不能寄一些样品来做这个

标签: blackberry-10 blackberry-cascades


【解决方案1】:

我不确定您到底想做什么,但这里是我将如何存储用户检查的所有数据的方式。

开启onCheckedChanged:

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

其中checkedDataChanged 是在列表控制器的C++ 类中定义的Q_INVOKABLE。

然后您可以管理您在QList 中轻松选择的数据。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-13
    相关资源
    最近更新 更多