2

リモートのJsonWebサービスからQMLListViewにデータをロードすることができましたが、DropDownコントロールにはそのようなものはないようです。

誰かがカスケードのattachedObjectsデータソースにバインドされたドロップダウンを実行するための例または代替メソッドを持っていますか?

4

1 に答える 1

8

別の方法があります。ここではデモンストレーションの目的で Google の Web サービスを使用したことに注意してください。それを URL に置き換えて、それに応じて応答を解析する必要があります。

import bb.cascades 1.0

Page {
    attachedObjects: [
        ComponentDefinition {
            id: optionControlDefinition
            Option {
            }
        }
    ]
    function getData() {
        var request = new XMLHttpRequest()
        request.onreadystatechange = function() {
            if (request.readyState == 4) {
                var response = request.responseText
                response = JSON.parse(response)
                var addressComponents = response.results[0].address_components
                for (var i = 0; i < addressComponents.length; i ++) {
                    var option = optionControlDefinition.createObject();
                    option.text = addressComponents[i].long_name
                    dropDown.add(option)
                }
            }
        }

        // I have used goole's web service url, you can replace with your url
        request.open("GET", "http://maps.googleapis.com/maps/api/geocode/json?address=" + "Ahmedabad" + "&sensor=false", true)
        request.send()
    }
    Container {
        DropDown {
            id: dropDown
        }
        Button {
            onClicked: getData()
        }
    }
}

お役に立てれば。

于 2012-11-06T12:27:05.743 に答える