Ext.form.field.ComboBox组合框

1、Ext.form.field.ComboBox主要配置

 Ext.form.field.ComboBox主要配置项

配置项 类型 说明
allQuery String 发往服务器用来查询全部信息的查询字符串,默认为空
autoSelect Boolean 是否自动选择第一个列表值,默认为true
defaultListConfig Object

listConfig配置对象包括:

emptyText:当输入值在列表中不存在时显示的信息,默认为空文本

loadingText:默认加载提示loading

minWidth:70,下拉列表默认最小宽度为70px

maxHeight:300,下拉列表默认最大高度为300px

shadow:"sides",默认的阴影显示位置

delimiter String 在多模式下用于分隔显示值的分隔符,默认为“,”
displayField String 显示下拉框的字段名
forceSelection Boolean 设置输入值是否严格为待选列表中存在的值,true要求输入值必须在列表中存在,false则允许用户输入任何值,默认为false
listConfig Object 下拉列表配置对象
minChars Number

下拉表框字段选择当前用户需要输入的最小字符数量

queryMode="remote"默认为4

queryMode="local"默认为0

editable=false会使自动完成功能失效

multiSelect Boolean 是否允许多选
pageSize Number 下拉列表框的分页大小。如果大于0则在下拉列表的页脚位置自动创建一个分页工具栏,该项设置只在mode="remote"时生效
queryDelay Number

从键盘输入字符结束到发送查询之间的查询延迟时间

queryMode="remote"默认为500ms

queryMode="local"默认为0

queryMode String

下拉表框的数据读取模式

local:读取本地数据

remote:读取远程数据

queryParam String 查询的名字,默认为“query”,将被传递到查询字符串中
selectOnTab Boolean 是否使用键盘的Tab键选择列表值,默认为true
store Ext.data.Store/Array 列表框绑定的数据源,默认为undefined
triggerAction String

单击触发按钮时执行的默认操作

有效值包括“all”和“query”,

默认为“query”使用raw value进行查询

如果设置为“all”则会执行allQuery中设置的查询

typeAhead Boolean 设置在输入过程中是否自动选择匹配的剩余部分文本,默认为false
typeAheadDelay Number 输入过程中自动匹配剩余文本的延时时间,默认为250ms
valueField String 组合框的值字段
valueNotFoundText String 值不存在时的提示消息

Ext.view.BoundList主要配置项目

配置项 类型 说明
loadingHeight Number 加载数据时读取显示的高度
loadingText String 下拉框加载数据时的提示信息,只有当mode=“remote”时才会生效
maxHeight Number 下拉框最大高度
minHeight Number 下拉框最小高度
maxWidth Number 下拉框最大宽度
minWidth Number 下拉框最小宽度

2、Ext.form.field.ComboBox本地数据源

代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>Ext.form.ComboBox本地数据源</title>

    <link href="ext-4.0.7-gpl/resources/css/ext-all.css" rel="stylesheet" type="text/css" />

    <script src="ext-4.0.7-gpl/bootstrap.js" type="text/javascript"></script>

    <script type="text/javascript">

        Ext.onReady(function () {

            Ext.define("Province", {

                extend: "Ext.data.Model",

                fields: [

                    { name: "ProvinceID" },

                    { name: "ProvinceNo" },

                    { name: "ProvinceName" }

                ]

            });



            var store = Ext.create("Ext.data.Store", {

                model: "Province",

                data: [

                    { "ProvinceID": 1, "ProvinceNo": "110000", "ProvinceName": "北京市" },

                    { "ProvinceID": 2, "ProvinceNo": "120000", "ProvinceName": "天津市" },

                    { "ProvinceID": 3, "ProvinceNo": "130000", "ProvinceName": "河北省" },

                    { "ProvinceID": 4, "ProvinceNo": "140000", "ProvinceName": "山西省" },

                    { "ProvinceID": 5, "ProvinceNo": "150000", "ProvinceName": "内蒙古" },

                    { "ProvinceID": 6, "ProvinceNo": "210000", "ProvinceName": "辽宁省" },

                    { "ProvinceID": 7, "ProvinceNo": "220000", "ProvinceName": "吉林省" },

                    { "ProvinceID": 8, "ProvinceNo": "230000", "ProvinceName": "黑龙江" },

                    { "ProvinceID": 9, "ProvinceNo": "310000", "ProvinceName": "上海市" },

                    { "ProvinceID": 10, "ProvinceNo": "320000", "ProvinceName": "江苏省" },

                    { "ProvinceID": 11, "ProvinceNo": "330000", "ProvinceName": "浙江省" },

                    { "ProvinceID": 12, "ProvinceNo": "340000", "ProvinceName": "安徽省" },

                    { "ProvinceID": 13, "ProvinceNo": "350000", "ProvinceName": "福建省" },

                    { "ProvinceID": 14, "ProvinceNo": "360000", "ProvinceName": "江西省" },

                    { "ProvinceID": 15, "ProvinceNo": "370000", "ProvinceName": "山东省" },

                    { "ProvinceID": 16, "ProvinceNo": "410000", "ProvinceName": "河南省" },

                    { "ProvinceID": 17, "ProvinceNo": "420000", "ProvinceName": "湖北省" },

                    { "ProvinceID": 18, "ProvinceNo": "430000", "ProvinceName": "湖南省" },

                    { "ProvinceID": 19, "ProvinceNo": "440000", "ProvinceName": "广东省" },

                    { "ProvinceID": 20, "ProvinceNo": "450000", "ProvinceName": "广  西" },

                    { "ProvinceID": 21, "ProvinceNo": "460000", "ProvinceName": "海南省" },

                    { "ProvinceID": 22, "ProvinceNo": "500000", "ProvinceName": "重庆市" },

                    { "ProvinceID": 23, "ProvinceNo": "510000", "ProvinceName": "四川省" },

                    { "ProvinceID": 24, "ProvinceNo": "520000", "ProvinceName": "贵州省" },

                    { "ProvinceID": 25, "ProvinceNo": "530000", "ProvinceName": "云南省" },

                    { "ProvinceID": 26, "ProvinceNo": "540000", "ProvinceName": "西  藏" },

                    { "ProvinceID": 27, "ProvinceNo": "610000", "ProvinceName": "陕西省" },

                    { "ProvinceID": 28, "ProvinceNo": "620000", "ProvinceName": "甘肃省" },

                    { "ProvinceID": 29, "ProvinceNo": "630000", "ProvinceName": "青海省" },

                    { "ProvinceID": 30, "ProvinceNo": "640000", "ProvinceName": "宁  夏" },

                    { "ProvinceID": 31, "ProvinceNo": "650000", "ProvinceName": "新  疆" },

                    { "ProvinceID": 32, "ProvinceNo": "710000", "ProvinceName": "台湾省" },

                    { "ProvinceID": 33, "ProvinceNo": "810000", "ProvinceName": "香  港" },

                    { "ProvinceID": 34, "ProvinceNo": "820000", "ProvinceName": "澳  门" }

                ]

            });



            Ext.create("Ext.form.Panel", {

                title: "Ext.form.field.ComboBox本地数据源",

                renderTo: Ext.getBody(),

                bodyPadding: 5,

                frame: true,

                height: 100,

                width: 220,

                defaults: {

                    labelSeparator: "",

                    labelWidth: 70,

                    width: 200,

                    labelAlign: "left"

                },

                items: [{

                    xtype: "combo",

                    listConfig: {

                        emptyText: "未找到匹配值",

                        maxHeight: 150

                    },

                    name: "Province",

                    fieldLabel: "省份",

                    triggerAction: "all",

                    store: store,

                    displayField: "ProvinceName",

                    valueField: "ProvinceNo",

                    queryMode: "local",

                    forceSelection: true,

                    typeAhead: true,

                    value: "130000" // 默认选中

                }]

            });

        });

    </script>

</head>

<body>

</body>

</html>

效果图:

Ext.form.field.ComboBox组合框

3、Ext.form.field.ComboBox远程数据源

HTML代码:

@{

    Layout = null;

}

<!DOCTYPE html>

<html>

<head>

    <title></title>

    <link href="@Url.Content("~/Scripts/ext-4.0.7-gpl/resources/css/ext-all.css")" rel="stylesheet" type="text/css" />

    <script src="@Url.Content("~/Scripts/ext-4.0.7-gpl/bootstrap.js")" type="text/javascript"></script>

    <script type="text/javascript">

        Ext.onReady(function () {

            Ext.define("Province", {

                extend: "Ext.data.Model",

                fields: [

                    { name: "ProvinceID" },

                    { name: "ProvinceNo" },

                    { name: "ProvinceName" }

                ]

            });



            var store = Ext.create("Ext.data.Store", {

                model: "Province",

                proxy: {

                    type: "ajax",

                    url: "/Province/Index",

                    reader: new Ext.data.JsonReader({ model: "Province" })

                }

            });



            Ext.create("Ext.form.Panel", {

                title: "Ext.form.field.ComboBox本地数据源",

                renderTo: Ext.getBody(),

                bodyPadding: 5,

                frame: true,

                height: 100,

                width: 220,

                defaults: {

                    labelSeparator: "",

                    labelWidth: 70,

                    width: 200,

                    labelAlign: "left"

                },

                items: [{

                    xtype: "combo",

                    listConfig: {

                        emptyText: "未找到匹配值",

                        maxHeight: 150

                    },

                    name: "Province",

                    fieldLabel: "省份",

                    triggerAction: "all",

                    store: store,

                    displayField: "ProvinceName",

                    valueField: "ProvinceNo",

                    queryMode: "remote",

                    forceSelection: true,

                    typeAhead: true

                }]

            });

        });

    </script>

</head>

<body>

</body>

</html>

cs代码

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;



using Northwind.Domain.Entities;

using Northwind.Data;

using Northwind.Service;



namespace Northwind.Web.Controllers

{

    public class ProvinceController : Controller

    {

        private IProvinceService provinceService;



        public ProvinceController(IProvinceService provinceService)

        {

            this.provinceService = provinceService;

        }



        public ActionResult ComboBox()

        {

            return View();

        }



        public JsonResult Index()

        {

            return Json(provinceService.GetAll(), JsonRequestBehavior.AllowGet);

        }

    }

}

效果图:

Ext.form.field.ComboBox组合框

你可能感兴趣的:(combobox)