<dxe:ASPxComboBox ID="cbPiciSelect" runat="server" Width="244px" DataSourceID="sdsPiCi" TextField="PICI" ValueField="PICI" ValueType="System.String" EnableIncrementalFiltering="True" EnableTheming="False">
</dxe:ASPxComboBox>
设置EnableIncrementalFiltering="True"后,可编辑,可过滤
设置 DropDownStyle="DropDown" 后,该控件既可以手动填写,也可以选择。
图1:下拉列表为单列的界面
HTML代码如下
< dxe:ASPxComboBox ID ="ASPxComboBox1" runat ="server" DropDownStyle ="DropDown" IncrementalFilteringMode ="StartsWith"
DataSourceID ="SqlDataSource1" TextField ="ProductName" ValueField ="ProductName" Width ="100%" />
IncrementalFilteringMode属性有三个选项分别为(StartsWith,Contains,None),对应的功能为(从列表的开始处过滤,所有包含过滤条件的行,不能设置过滤条件)
TextField是前台显示的文本,ValueField是后台记录的值
TextFormatString设置前台显示的样式,如果仅仅希望显示某列的数据,则使用TextFormatString={1}(表示仅仅显示第二列的数字)
Columns列的集合,ASPxComboBox的列使用dxe:ListBoxColumn的方式增加
图2:下拉列表为多列的界面
HTML代码
< dxe:ASPxComboBox ID ="ASPxComboBox2" runat ="server" DropDownStyle ="DropDownList" DataSourceID ="SqlDataSource2"
ValueField ="ID" ValueType ="System.String" TextFormatString ="{0} ({1})"
IncrementalFilteringMode ="StartsWith" Width ="100%" >
< Columns >
< dxe:ListBoxColumn FieldName ="CateoryName" Width ="90px" />
< dxe:ListBoxColumn FieldName ="Description" Width ="300px" />
</ Columns >
</ dxe:ASPxComboBox >
此下拉列表也可是实现多级联动的功能,但是其将所有的数据全部显示在页面上,这样会导致页面文件庞大,影响页面的初始化速度,建议使用Ajax来实现无刷新的多级联动功能。