Ext.Net学习笔记10:Ext.Net ComboBox用法
ComboBox是最常用的控件之一,它与HTML中的Select控件很像,但可以进行多选、自定义显示格式、分页等。
ComboBox用法
<ext:ComboBox runat="server" ID="cmbUserList" DisplayField="Name" ValueField="ID"> <Store> <ext:Store runat="server" ID="storeUserInfo"> <Model> <ext:Model ID="Model1" runat="server" IDProperty="ID"> <Fields> <ext:ModelField Name="ID" Type="Int">ext:ModelField> <ext:ModelField Name="Name" Type="String">ext:ModelField> <ext:ModelField Name="Gender" Type="String">ext:ModelField> <ext:ModelField Name="Age" Type="Int">ext:ModelField> Fields> ext:Model> Model> ext:Store> Store> ext:ComboBox>
对于一个ComboBox来说,一定要制定DisplayField和ValueField,然后它包含了一个Store,这个Store我们并不陌生,之前的几篇中都用过。
然后我们在页面加载的时候为Store绑定上数据:
public void BindStore() { storeUserInfo.DataSource = UserInfo.GetData(); storeUserInfo.DataBind(); }
这样一个简单的ComboBox示例就完成了。
ComboBox分页
当数据量大的时候,我们当然希望能够进行分页显示,这个功能ComboBox是支持的。
首先我们需要对Store进行分页处理,前面的Ext.Net学习笔记08:使用数据和Ext.Net学习笔记09:Ext.Net中Store的用法中已经介绍过,此处不再赘言。
然后我们要在ComboBox的定义中加上分页的PageSize属性:
<ext:ComboBox runat="server" ID="cmbUserList" DisplayField="Name" ValueField="ID" PageSize="5">
再次刷新我们的页面,你会发现ComboBox已经支持分页了。
ComboBox自定义显示
ComboBox支持通过XTemplate来自定义每一项的显示。
<ext:ComboBox runat="server" ID="cmbUserList" DisplayField="Name" ValueField="ID" MatchFieldWidth="false" PageSize="5"> <Store> ... Store> <ListConfig> <ItemTpl runat="server"> <Html> <div> <b>{Name}b><br /> <span>年龄:{Age}span><br /> <span>性别:{Gender}span> div> Html> ItemTpl> ListConfig> ext:ComboBox>
效果如下:
以上就是ComboBox常用的方法。