在下面的标志中,我们到场了三个标志:一个必需的ScriptManager控件。一个id为myList的div,用来让Atlas把衬着后的ListView安排于这里。一个埋没的div,用于界说我们的模版。这个埋没div中的元素在页面上是不成见的,只是用来供应给Atlas需要的模版。
我们在这个埋没的div中到场以下ListView的模版:
<!--LayoutTemplate-->
<tableid="myList_layoutTemplate"border="1"cellpadding="3">
<thead>
<tr>
<td><span>No.</span></td>
<td><span>Name</span></td>
<td><span>Email</span></td>
</tr>
</thead>
<!--RepeatTemplate-->
<tbodyid="myList_itemTemplateParent">
<!--RepeatItemTemplate-->
<trid="myList_itemTemplate">
<td><spanid="lblIndex"/></td>
<td><spanid="lblName"/></td>
<td><spanid="lblEmail"/></td>
</tr>
<!--SeparatorItemTemplate-->
<trid="myList_separatorTemplate">
<tdcolspan="3">Separator</td>
</tr>
</tbody>
</table>
<!--EmptyTemplate-->
<divid="myList_emptyTemplate">
NoData
</div>
下面的代码中您能够看到我提到的一切四种模版。别的还要指定每个模版一个id,将用于上面的Atlas剧本声明中。在这个例子中我将以HTMLTable的情势衬着这个ListView,很抱愧分开元素将会很丑恶(一个空行)。
最初在页面中增加Atlas剧本声明:
<dataSourceid="listDataSource"autoLoad="true"serviceURL="MyService.asmx"/>
<listViewid="myList"itemTemplateParentElementId="myList_itemTemplateParent">
<bindings>
<bindingdataContext="listDataSource"dataPath="data"property="data"/>
</bindings>
<layoutTemplate>
<templatelayoutElement="myList_layoutTemplate"/>
</layoutTemplate>
<itemTemplate>
<templatelayoutElement="myList_itemTemplate">
<labelid="lblIndex">
<bindings>
<bindingdataPath="$index"transform="Add"property="text"/>
</bindings>
</label>
<labelid="lblName">
<bindings>
<bindingdataPath="Name"property="text"/>
</bindings>
</label>
<labelid="lblEmail">
<bindings>
<bindingdataPath="Email"property="text"/>
</bindings>
</label>
</template>
</itemTemplate>
<separatorTemplate>
<templatelayoutElement="myList_separatorTemplate"/>
</separatorTemplate>
<emptyTemplate>
<templatelayoutElement="myList_emptyTemplate"/>
</emptyTemplate>
</listView>
这里我增加了一个Atlas客户端DataSource工具以从WebService中获得数据。这里我们临时未几谈DataSource(大概在后续文章中有所先容)。让我们来看一下ListView相干的界说:在ListView的界说中,我们指定了itemTemplateParentElementId属性。然后在ListView的外部界说了一个binding段,用来把DataSource中获得的数据与这个ListView绑定起来。我们还界说了四个模版段,每一个模版段都用layoutElement与下面界说过的四种模版联系关系。注重到在layoutTemplate模版中的第一个label控件,我们在其绑定中指定了一个Addtransformer以将从0入手下手的按次变成从1入手下手(关于AtlasTransformer,请参考我的这篇文章:
http://dflying.cnblogs.com/archive/2006/04/05/367908.html)。
半途而废,运转一下吧。
装载中:
装载完成: