2017-04-18 3 views
-1

Ich habe ein ListModel in Qml, die dynamisch gefüllt wird.qml listmodel parse Zeile

Ich würde gerne wissen, wie kann ich Informationen über eine Zeile aus dem Modell abrufen, wenn ich myModel.get (i). Dies gibt ein Objekt zurück, aber ich weiß nicht, wie ich daraus Informationen extrahiere. In der Dokumentation sah ich alle Beispiele mit myModel.get (i). "Etwas". Aber ich habe kein Feld zu nennen, ich mag so etwas wie:

function getValue(i,columnIndex) 
{ 
    var obj = myModel.get(i) 
    var requestedValue = obj[columnIndex] 
} 

Dank

+0

Was meinst du mit „Ich habe kein Feld zu nennen“, wie haben Sie schreiben Ihre 'ListModel'? – GrecKo

+0

ListModel {id: myModel} –

+0

und wie bevölkern Sie es? – GrecKo

Antwort

1

Wenn Sie die Attribute zugreifen mögen Sie es durch den Namen dieses Attributs tun müssen. Zum Beispiel

ListModel { 
     id: myModel 
     ListElement { 
      title: "Moby-Dick" 
      author: "Herman Melville" 
     } 
     ListElement { 
      title: "The Adventures of Tom Sawyer" 
      author: "Mark Twain" 
     } 
} 

Sie können es auf zwei Arten zugreifen:

{your Model}.get({index}).title 
{your Model}.get({index})['title'] 
+0

Wenn ich das Modell definiere, habe ich kein ListElement. Aber wie ich bereits erwähnt habe, konnte ich das JSON inspizieren und ich nahm die Felder von dort. –

Verwandte Themen