`

extjs 基本控件

 
阅读更多

1.Ext xtype类型

Ext  xtype 类型

xtype                 Class

-------------       ------------------

box                 Ext.BoxComponent 具有边框属性的组件

button            Ext.Button  按钮

colorpalette   Ext.ColorPalette 调色板

component    Ext.Component 组件

container      Ext.Container 容器

cycle             Ext.CycleButton 

dataview        Ext.DataView 数据显示视图

datepicker     Ext.DatePicker 日期选择面板

editor            Ext.Editor 编辑器

editorgrid       Ext.grid.EditorGridPanel 可编辑的表格 

grid               Ext.grid.GridPanel 表格

paging           Ext.PagingToolbar 工具栏中的间隔

panel            Ext.Panel 面板

progress         Ext.ProgressBar 进度条

splitbutton      Ext.SplitButton 可分裂的按钮

tabpanel         Ext.TabPanel 选项面板

treepanel        Ext.tree.TreePanel 树

viewport         Ext.ViewPort 视图

window           Ext.Window 窗口

工具栏组件有

---------------------------------------

toolbar          Ext.Toolbar 工具栏

tbbutton         Ext.Toolbar.Button 按钮

tbfill           Ext.Toolbar.Fill 文件

tbitem           Ext.Toolbar.Item 工具条项目

tbseparator      Ext.Toolbar.Separator 工具栏分隔符

tbspacer         Ext.Toolbar.Spacer 工具栏空白

tbsplit          Ext.Toolbar.SplitButton 工具栏分隔按钮

tbtext           Ext.Toolbar.TextItem 工具栏文本项

表单及字段组件包含:

---------------------------------------

form             Ext.FormPanel Form面板 

checkbox         Ext.form.Checkbox checkbox录入框

combo            Ext.form.ComboBox combo选择项

datefield        Ext.form.DateField 日期选择项

field            Ext.form.Field 表单字段

fieldset         Ext.form.FieldSet 表单字段组

hidden           Ext.form.Hidden 表单隐藏域

htmleditor       Ext.form.HtmlEditor html编辑器

numberfield      Ext.form.NumberField 数字编辑器

radio            Ext.form.Radio 单选按钮

textarea         Ext.form.TextArea 区域文本框

textfield        Ext.form.TextField 表单文本框

timefield        Ext.form.TimeField 时间录入项

trigger          Ext.form.TriggerField 触发录入项

如果要使输入域为密码类型可以使用

inputType: 'password'

如果:

{xtype:'textfield',inputType: 'password',fieldLabel: '密码',name: 'PASSWORD',allowBlank:false,anchor:'95%'}

 

2.Ext.form.TextField组件

//这里是把TextField很重要的属性列出来 实际在应用的时候不需要将每个属性都列出 也许只需要一个属性就够了。
function ready()
{
Ext.QuickTips.init();
var textfieldName = new Ext.form.TextField
({
id:"textfieldName", 
allowBlank:false,//默认是true,如果是false,就是不允许空 
//假如不为空时,定义提示信息 默认的提示信息是:This field is required
//要使提示内容出现,需要添加 Ext.QuickTips.init();
blankText:"请输入数据", 
disabled:false,//默认是false 
emptyText:"请正确输入数据",//默认是null 
fieldLabel:"用户名称",//默认是"" 
height:"auto",//默认是auto 
hidden:false,//默认是false 
hideLabel:false,//默认是false 
hideMode:"offsets",//默认display,可以取值:display,offsets,visibility 
inputType:"text",//输入类型 这个很重要,可以是radio, text, password, file 默认是text 
invalidText:"invalidText:只能够输入数字",//默认是:The value in this field is invalid 
maxLength:100,//能够输入的内容的最大长度 
maxLengthText:"输入内容太长了",//超出最大长度的设置信息 
minLength:2,//能够输入的内容的最小长度
minLengthText:"输入内容太短了",//没有达到最小长度的设置信息 
readOnly:false,//内容是否只读,默认false 
regex:/^\d$/, //正则表达式 这里假设只允许输入数字 如果输入的不是数字 就会出现下面定义的提示信息 
regexText:"regexText:只能够输入数字", //定义不符合正则表达式的提示信息 
validateOnBlur:true,//默认是true,失去焦点时验证 
validationDelay:300,//默认是250,验证延迟时间,毫秒数 
validationEvent:"click", //验证事件 默认是keyup 可以是String/Boolean 
//自定义的验证函数 当输入的数据不符合正则表达式的要求时,就会执行这个函数
validator:function(){Ext.Msg.alert("提示信息","只能够输入数字");}, 
value:"",//自定义的信息 默认是:undefined 
//x:number,y:number,在容器中的x,y坐标 
width:"auto",//默认是auto 
renderTo:"Bind_TextField" 
});


3.ComboBox组件的使用

1.服务器数据作为ComboBox的数据源实例
首先从服务器获取json数据:

//cs后台代码,简单起见,示例而已,要主要字符串格式(新手注意,下面的代码放在类里面,不是放在方法里)
public string  ServerData="['湖北','江西','安徽']";


//aspx前台js介绍代码 
Ext.onReady(function(){
       var combo=new Ext.form.ComboBox({
            store:<%=ServerData%>,//获取ServerData的string值,不要用""引起来,否则就不是object数据,而是字符串,这是一个很巧妙的关键点:把服务器的字符串转化为js的object数据,是不是超级方便。
            emptyText:'请选择一个省份....',
            applyTo: 'combo'
        });
    });


//aspx前台html代码
<input type="text" id="combo" size="20"/>


我们就通过<%=ServerData%>这样的方式获取到了服务器最简单的属性数据。问题来了,js和html怎么调用c#后台
的变量和方法?(变量的调用上面刚刚介绍)
6.js和html怎么调用c#后台的变量和方法
关于这个话题,我不多说,网上很多讲解,在此仅简单说明
1.js调用c#后台变量,参考上面,注意,如果想获取string类型,请在js里用引号 var str="<%=ServerData%>"(返回"['湖北','江西','安徽']")
2.js调用c#后台方法:

<!--后台有一个方法:
public string ServerData()
    {
        return "fdfdfdfdsf";
    }
前台代码:-->
<input id="Text2" type="text" value="<%=ServerData()%>"/>

3.js调用c#后台带参数的方法

<!--public string ServerData(string pram)
    {
        return pram+",我是参数传进来的";
    }
主要是处理好js的引号问题,多尝试就会正确-->
<script>alert('<%=ServerData("谦虚的天下") %>');</script>

好了,现在我们有了js获取后台数据的方法手段,不怕不怕啦,不过,这只是一小步。
7.ComboBox的数据源store格式详解
在前面的例子里面,我们一直给ComboBox的数据源store赋值一维数组,其实store支持多维和Store.data.Store类型。

//下面就几种数据以代码举例说明
1.一维数组:["江西","湖北"],值同时赋给ComboBox的value和text
2.二维和多维数组:[["one","bbar","111"],["two","tbar","222"]],第一维和第二维分别赋值给value和text,其他维忽略
3.store类型:包括GroupingStore, JsonStore, SimpleStore.
    //我们分三步走:
     //第一步:提供数据:
         var data=[['湖北','hubei'],['江西','jiangxi'],['安徽','anhui']];
    //第二步:导入到store中:
         var store = new Ext.data.SimpleStore({
             fields: ['chinese', 'english'],
             data : data
        });
     //第三步 :把store托付给comboBox的store
    var combo = new Ext.form.ComboBox({
        store: store,
        displayField:'english',//store字段中你要显示的字段,多字段必选参数,默认当mode为remote时displayField为undefine,当select列表时displayField为"text"
        mode: 'local',//因为data已经取数据到本地了,所以'local',默认为"remote",枚举完
        emptyText:'请选择一个省份...',
        applyTo: 'combo'
    });


这里我们介绍了两个新的参数displayField和mode,请记住,后面不再专门说明。
8.ComboBox的value获取
添加listeners事件:

//ComboBox的事件很多(api),我们无法一一讲解,但是我们可以举一反三,select事件就是其中典型的一个       
              listeners:{
                "select":function(){
                            alert(Ext.get("combo").dom.value);   //获取id为combo的值
                         }
            }
//这里我们提供了一种不是很好的方法,在此不做过多停留


9.把Extjs的ComboBox样式应用到select的下拉框中去
核心参数介绍

transform:id//用于转换样式的,TimeField作为ComboBox的子类也有此属性

核心代码:

//js代码
var ExtSelect=new Ext.form.ComboBox({
             transform:"select",//html中的id
             width:80//宽度
         });
//html代码
<select id="select">
        <option value="1">***</option>
        <option value="2">博客园</option>
        <option value="3">百度</option>
        <option value="4">新浪</option>
    </select>
//是不是超级简单?

     从中不是也可以看出extjs的不同之处的,不过不明显!
10.ComboBox的其他重要参数

1.valueField:"valuefield"//value值字段
2.displayField:"field" //显示文本字段
3.editable:false//false则不可编辑,默认为true
4.triggerAction:"all"//请设置为"all",否则默认为"query"的情况下,你选择某个值后,再此下拉时,只出现匹配选项,如果设为"all"的话,每次下拉均显示全部选项
5.hiddenName:string //真正提交时此combo的name,请一定要注意
6.typeAhead:true,//延时查询,与下面的参数配合
7.typeAheadDelay:3000,//默认250
//其他参数,请参考api,或自行尝试

关于combobox的其他花俏功能在此不多做介绍。
最后一点,如何实现在aspx页面更灵活的分离cs数据和js数据的交互?因为我们都喜欢把js放在一个单独的文件,然后在aspx页面引用
这样就有一个问题,我在js里直接获取cs数据就有点不方便。我认为可以这样,在aspx页面里获取数据,并作为js,你就js变量,你就可
以在js里引用了,或者直接通过url地址获取。
之所以这么啰嗦的讲combobox,是因为这个东西有时候真的让人又爱又恨!

4.Ext.grid.GridPanel
stripeRows: true,  //隔行换色
viewConfig: { forceFit: true },  //自动均分列宽
selModel: new Ext.grid.RowSelectionModel({ singleSelect: true }),  //设置选中模式
loadMask: { msg: '正在加载数据,请稍侯……' },  //加载完成前显示信息,设置为true则显示Loading
autoDestroy //Boolean 销毁store当组件的store已经被绑定并销毁 (?? 没有测试出来,后续文章继续测)
columnLines: true,  //显示列线条


5.Ext.grid.ColumnModel
header      //表格列头名称
dataIndex    //字段名称
sortable     //是否允许按列排序,默认为false
resizable:false  //是否可改变列宽,默认为true
menuDisabled: true  //是否禁用(不显示)列头菜单项,默认false
hidden:false   //是否隐藏本列
renderer:    //渲染,自定义格式输出

分享到:
评论

相关推荐

    EXTJS时间控件年月日时分秒

    学习这个组件,你可以查看源码,了解如何组合EXTJS的基本组件和配置,实现一个完整的时间选择功能。 总之,EXTJS时间控件是其组件库中的一个重要部分,它通过灵活的配置和扩展机制,能够满足各种复杂的时间选择需求...

    ExtJS时间控件、IP输入控件【控件】

    ExtJS是一种广泛使用的JavaScript库,专门用于构建富...这不仅涉及ExtJS API的使用,还包括对JavaScript和HTML的理解,以及前端开发的基本原理。对于想要提高ExtJS应用开发技能的程序员来说,这是一个很好的实践案例。

    ExtJs图片按钮控件

    ExtJs图片按钮控件是ExtJs框架中一种增强的按钮组件,它允许开发者在按钮上显示图片,以提供更丰富的用户界面。这个控件通常用于创建具有视觉吸引力的交互式UI元素,比如导航按钮或者操作按钮。下面我们将深入探讨...

    ExtJs搜索控件、插件

    在ExtJS中,搜索控件和插件是提升用户体验、实现高效数据查找的关键元素。本篇将深入探讨这些知识点,以帮助你更好地理解和应用。 首先,我们要了解`SearchField.js`在这个上下文中的作用。通常,这是一个自定义...

    extjs 常用控件的使用 table layout

    在EXTJS中,控件(Components)是构建用户界面的基本单元,它们可以是按钮、表格、表单、面板等。"常用控件的使用"涵盖了EXTJS中的一些核心组件,如: 1. **TextField**:用于输入文本的基本字段,支持多种验证和...

    extjs扩展年度控件,EXTJS里的时间控件的年度重写

    EXTJS是一种广泛应用于Web开发的JavaScript库,特别适合构建富客户端应用。在EXTJS中,时间控件(Date Picker)是常见的元素,用于选择...在实践中,开发者需要具备EXTJS的基本知识,以及一定的前端开发和设计能力。

    extjs自定义控件

    ExtJS是一款强大的JavaScript...以上就是关于ExtJS自定义控件的基本知识,包括创建、配置、事件处理、实例化以及使用中的最佳实践。理解并熟练掌握这些概念和技术,将有助于开发出高效、灵活且富有特色的ExtJS应用。

    extjs3.2、3.3 时间控件 日期控件扩展

    总之,“extjs3.2、3.3 时间控件 日期控件扩展”是关于如何在ExtJS 3.x版本中使用和自定义日期及时间选择器的知识点,涵盖了基本使用、扩展开发、实际应用等多个方面。通过深入理解这些概念,开发者可以创建出更加...

    初试extJs,控件

    在给定的代码中,我们可以看到 ExtJs 被用于实现CRUD(Create, Read, Update, Delete)操作,这是数据库管理中的基本操作。CRUD通常涉及到添加新记录、读取现有记录、更新记录和删除记录。在Web应用中,这些操作通常...

    CooliteToolkit(ExtJS可视化控件)Demo

    从页面布局和使用的控件TextBox,Combox,Button,ToolBar,StateBar,Panel,TabPanel,ExplorerBar,MenuBar,PictureBox都用统一的样式非常方便的配置,基本不需要额外美工处理,同时支持ajax无刷新效果。

    ExtJs日期时间选择控件

    1. **ExtJs日期时间选择控件的基本使用** 在ExtJs中,日期时间选择控件通常通过`Ext.picker.DateTimePicker`类来创建。这个控件结合了日期选择器和时间选择器,使得用户可以选择一个精确的日期和时间点。创建控件时...

    extjs初学控件

    在ExtJS中,控件是构建用户界面的基本元素,它们提供了与用户交互的功能。本文将对初学者介绍一些常见的ExtJS控件,特别是弹框和表格(Grid)的使用方法。 首先,我们来关注弹框(MessageBox)。Ext.MessageBox是...

    EXTJS4自学手册

    目录: 一 Extjs 基础 EXTJS4自学手册——EXT文件目录,本地加载文档,命名规范 EXTJS4自学手册——EXT基本方法、属性(onReady、define、create) EXTJS4自学手册——EXT...EXTJS4自学手册——页面控件(表单控件)

    extjs 简单表格

    "extjs 简单表格"这个主题,我们将探讨如何在ExtJS中创建和使用基本的表格。 首先,我们需要理解ExtJS表格的基本结构。表格由多个部分组成,包括Store(数据存储)、Model(数据模型)、Column Model(列模型)和...

    ExtJs通用筛选查询控件

    1. **筛选查询控件的基本概念** 筛选查询控件是ExtJs中的一种UI组件,用于在数据网格中添加过滤条件,以展示特定的子集数据。这些控件通常包括下拉框、输入框、复选框等,用户可以根据不同的字段值进行筛选,实现...

    ExtJs 带清空功能的日期组件

    在ExtJs框架中,日期组件(DateField)是用于用户输入日期的常见控件。然而,标准的ExtJs DateField并未内置清空日期的功能,这可能会在某些应用场景中造成不便。为了解决这个问题,我们需要自定义一个扩展,为日期...

    ASP.NET仿FLASH批量上传效果 使用控件ExtJS 和上传控件的例子.zip

    在本文中,我们将深入探讨如何在ASP.NET环境中实现一个仿Flash的批量上传功能,利用ExtJS作为前端框架和SwfUpload作为上传控件。这样的设计能够提供用户友好的界面和高效的文件上传体验。 首先,ASP.NET是Microsoft...

    基于EXTJS的.NET控件Coolite 1.0 example示例源码

    而Coolite则是针对.NET平台的一个控件集,它将EXTJS的功能集成到.NET环境中,使得.NET开发者可以方便地在ASP.NET应用中使用EXTJS组件。 标题提到的"基于EXTJS的.NET控件Coolite 1.0 example示例源码"是一个用于教学...

    ExtJS4学习笔记十一 树控件的使用

    在本篇《ExtJS4学习笔记十一:树控件的使用》中,我们将深入探讨ExtJS框架中的树形控件(TreePanel),这是一种强大的UI组件,用于展示层次结构的数据。ExtJS4对树控件的功能进行了增强,使其更加灵活且易于使用。...

Global site tag (gtag.js) - Google Analytics