<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">
<pre class="qml">Hello! how can I access ListView model propeties in it's section delegate?
Examples on internet is showing only how to access property specified in section.property field by "section"
For example:
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-rectangle.html">Rectangle</a></span> {
<span class="name">id</span>: <span class="name">container</span>
<span class="name">width</span>: <span class="number">200</span>
<span class="name">height</span>: <span class="number">250</span>
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listmodel.html">ListModel</a></span> {
<span class="name">id</span>: <span class="name">animalsModel</span>
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listelement.html">ListElement</a></span> { <span class="name">name</span>: <span class="string">"Parrot"</span>; <span class="name">size</span>: <span class="string">"Small"</span> }
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listelement.html">ListElement</a></span> { <span class="name">name</span>: <span class="string">"Guinea pig"</span>; <span class="name">size</span>: <span class="string">"Small"</span> }
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listelement.html">ListElement</a></span> { <span class="name">name</span>: <span class="string">"Dog"</span>; <span class="name">size</span>: <span class="string">"Medium"</span> }
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listelement.html">ListElement</a></span> { <span class="name">name</span>: <span class="string">"Cat"</span>; <span class="name">size</span>: <span class="string">"Medium"</span> }
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listelement.html">ListElement</a></span> { <span class="name">name</span>: <span class="string">"Elephant"</span>; <span class="name">size</span>: <span class="string">"Large"</span> }
}
<span class="comment">// The delegate for each section header</span>
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-component.html">Component</a></span> {
<span class="name">id</span>: <span class="name">sectionHeading</span>
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-rectangle.html">Rectangle</a></span> {
<span class="name">width</span>: <span class="name">container</span>.<span class="name">width</span>
<span class="name">height</span>: <span class="name">childrenRect</span>.<span class="name">height</span>
<span class="name">color</span>: <span class="string">"lightsteelblue"</span>
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-text.html">Text</a></span> {
<span class="name">text</span>: <font color="#ff0000"><b><span class="name">section</span></b></font>
<span class="name">font</span>.bold: <span class="number">true</span>
}
}
}
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listview.html">ListView</a></span> {
<span class="name">anchors</span>.fill: <span class="name">parent</span>
<span class="name">model</span>: <span class="name">animalsModel</span>
<span class="name">delegate</span>: <span class="name">Text</span> { <span class="name">text</span>: <span class="name">name</span> }
<span class="name">section</span>.property: <span class="string">"size"</span>
<span class="name">section</span>.criteria: <span class="name">ViewSection</span>.<span class="name">FullString</span>
<span class="name">section</span>.delegate: <span class="name">sectionHeading</span>
}
}
But i want to use other model fields, for example:
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-rectangle.html">Rectangle</a></span> {
<span class="name">id</span>: <span class="name">container</span>
<span class="name">width</span>: <span class="number">200</span>
<span class="name">height</span>: <span class="number">250</span>
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listmodel.html">ListModel</a></span> {
<span class="name">id</span>: <span class="name">animalsModel</span>
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listelement.html">ListElement</a></span> { <span class="name">name</span>: <span class="string">"Parrot"</span>; <span class="name">size</span>: <span class="string">"Small"</span> }
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listelement.html">ListElement</a></span> { <span class="name">name</span>: <span class="string">"Guinea pig"</span>; <span class="name">size</span>: <span class="string">"Small"</span> }
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listelement.html">ListElement</a></span> { <span class="name">name</span>: <span class="string">"Dog"</span>; <span class="name">size</span>: <span class="string">"Medium"</span> }
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listelement.html">ListElement</a></span> { <span class="name">name</span>: <span class="string">"Cat"</span>; <span class="name">size</span>: <span class="string">"Medium"</span> }
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listelement.html">ListElement</a></span> { <span class="name">name</span>: <span class="string">"Elephant"</span>; <span class="name">size</span>: <span class="string">"Large"</span> }
}
<span class="comment">// The delegate for each section header</span>
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-component.html">Component</a></span> {
<span class="name">id</span>: <span class="name">sectionHeading</span>
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-rectangle.html">Rectangle</a></span> {
<span class="name">width</span>: <span class="name">container</span>.<span class="name">width</span>
<span class="name">height</span>: <span class="name">childrenRect</span>.<span class="name">height</span>
<span class="name">color</span>: <span class="string">"lightsteelblue"</span>
<b> </b><b><span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-text.html">Text</a></span></b><b> {
</b><b><font color="#ff0000"> <span class="name">text</span>: name + size</font></b><b>
</b> <span class="name">font</span>.bold: <span class="number">true</span><b>
}</b>
}
}
<span class="type"><a href="http://qt-project.org/doc/qt-4.8/qml-listview.html">ListView</a></span> {
<span class="name">anchors</span>.fill: <span class="name">parent</span>
<span class="name">model</span>: <span class="name">animalsModel</span>
<span class="name">delegate</span>: <span class="name">Text</span> { <span class="name">text</span>: <span class="name">name</span> }
<span class="name">section</span>.property: <span class="string">"size"</span>
<span class="name">section</span>.criteria: <span class="name">ViewSection</span>.<span class="name">FullString</span>
<span class="name">section</span>.delegate: <span class="name">sectionHeading</span>
}
}
If I will do it like in example above I will get: <span style=" font-family:'Courier'; font-size:10pt; color:#aa0000;">ReferenceError: name is not defined</span>
</pre>
<pre class="moz-signature" cols="72">
--
Best regards,
Alexander <a class="moz-txt-link-freetext" href="mailto:Alexander.Krylkov@gmail.com">mailto:Alexander.Krylkov@gmail.com</a></pre>
<br>
</div>
<br>
</body>
</html>