Change is constant - 变化时唯一的永恒

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>
posted @ 2016-03-10 11:57  人海灬  阅读(547)  评论(0编辑  收藏  举报