EXTJS学习系列提高篇:第二十七篇(转载)作者殷良胜,ext2.2打造Ext.form.ComboBox系列--动态绑定...

本文介绍如何使用Ext.form.ComboBox组件动态绑定数据,并实现手写和联想功能。通过后台读取数据库,采用JSON格式传递数据,展示了从前台JavaScript代码到后台C#代码的完整实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇介绍了将数据动态绑定到Ext.form.ComboBox,采取后台读数据库的方式.支持手写和联想功能,还提供显示提示消息的效果和改变ComboBox的宽度和高度.

效果图如下:

前台代码显示如下:

 <form id="form1" runat="server">
    <div><div id="hello"></div>
    <script type="text/javascript">    
    //动态绑定数据
    function ready()
    {       
        Ext.QuickTips.init();
        
        var store = new Ext.data.Store
        ({
            proxy: new Ext.data.HttpProxy({url:"comboJson.aspx?Flag=1"}), // 数据源
            reader: new Ext.data.JsonReader({totalProperty:"totalPorperty",root:"result",fields:[{name: 'ID'},{name: 'TypeCName'}]})// 如何解析
        });
        store.load();
        var comboBox = new Ext.form.ComboBox
        ({     
            tpl: '<tpl for="."><div ext:qtip="提示:ID={ID};TypeCName={TypeCName}" class="x-combo-list-item">{TypeCName}</div></tpl>',
            id:"ComboBox_ID",
            editable:true,//默认为true,false为禁止手写和联想功能
            store:store,
            emptyText:'请选择',
            mode: 'local',//指定数据加载方式,如果直接从客户端加载则为local,如果从服务器断加载 则为remote.默认值为:remote
            typeAhead: true,
            triggerAction: 'all',
            valueField:'ID',  
            displayField:'TypeCName',
            selectOnFocus:true,
            renderTo:'hello',
            width:160,
            resizable:true
        });        
    }
    Ext.onReady(ready);
    </script>
    </div>
    </form>

后台代码显示如下:

 private void Bind_AllData()
        {
            DataSet ds = SampleBusiness.GetMoreRowByTableName("TypeTable");
            string json = "";
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                json = CommonUtil.GetJsonString(ds);
                int count = ds.Tables[0].Rows.Count;
                json = "{totalPorperty:" + count + ",result:" + json + "}";
            }
            else
            {
                json = "错误";
            }
            Response.Write(json);
        }


本文转自温景良博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2008/11/03/1325697.html,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值