『壹』 extjs combo 如何向已有数据中插入一条新的数据
不需要使用load来实现,使用store来操作记录集
//定义一个数据模型
Ext.define('data', {
extend: 'Ext.data.Model',
fields: ['val']
});
//定义一个记录集
var cData = Ext.create('Ext.data.ArrayStore',{
model: 'data',
data: [['数据1'],['数据2'],['数据3'],['数据4']]
});
//向已有的记录集插入新的数据,但是注意,这里只是在js数组里面添加了数据,要保存到数据库,还需在该函数后面添加ajax
function insert(){
var r = Ext.create('data', {val: '添加新的数据'});//这里的数据如果是用户输入的话,只需要换成那个文本框的值就行了,val: Ext.getCmp('xxxid号').getValue()
cData.insert(0, r);
//ajax操作
alert('successfully done!');
}
//创建combo框
Ext.onReady(function(){
var combo = Ext.create('Ext.form.field.ComboBox', {
store: cData,
fieldLabel: '下拉框',
displayField: 'val',
width: 498,
labelWidth: 60,
triggerAction: 'all',
renderTo: Ext.getBody()
});
});
『贰』 ExtJS Web应用程序开发指南的内容简介
卫军、夏慧军、孟腊春编著的《ExtJS Web应用程序开发指南(第2版)》共18章和1个附录,是对第1版的全面升级,增补了大量ExtJS 4.0中的新特性。从基本的ExtJS功能开始讲解RIA Web开发,从而引出用户体验丰富的ExtJS技术。接着通过经典的“Hello World”来快速搭建和配置第一个程序。然后通过4章来详细讲解ExtJS的基本功能,包括:最常用的表单、面板和布局类,常用的工具类与函数,以及ExtJS对事件的响应。本书还结合现今流行的Web框架进行改造,将相关技术融合起来应用。Ajax已经逐渐渗透到Web开发的各个方面了,ExtJS能够与其完美结合。讲解完这些提高内容后,本书还深入介绍了增强型模板,重要的数据模型,以及ExtJS高级组件。考虑到ExtJS与主流服务端框架的整合越来越紧密,本书还特意讲解了Struts和Struts 2框架的整合与配置。最后全面细致地讲解了ExtJS 4.0中新增的主题、图形和图表部分,真正实现完全整合应用ExtJS技术。
《ExtJS Web应用程序开发指南(第2版)》语言通俗易懂,版式清新,并通过大量的实例去讲解技术。对于广大的Web程序员,本书能帮你找到经典应用的解决方案。对RIA Web应用开发的爱好者,本书可以帮你找到进步的阶梯。本书可以作为Web开发的自学参考书,也可以作为RIA Web开发的培训教材。
『叁』 extjs的displayfield组件如何获取grid中的某一列的值
1.1:数据对应的列,加了一个点击事件,获取到该列的值,然后赋值
{
align: 'center',
text: 'A,
dataIndex: 'A',
width:60,
renderer : function(val, meta, record) {
val = "<a href='javascript:;' >"+val+"</a>";
meta.tdAttr = 'data-qtip="' + val + '"';
return '<div align="left">' + val + '</div>';
},
listeners:{
'click':function(){
var rows = grid.getSelectionModel().getSelection();
displayfield.setValue(rows[0].get('A'));//通过rows[0].get('字段名')来获取A字段的值,然后赋值给displayfield
}
}
2.如果有点击事件的话,你可以直接使用 var rows = grid.getSelectionModel().getSelection();获取store的数据模型(存放了所有的记录),rows[0]是指定行的记录(包括隐藏的字段),displayfield这个在grid外面创建好的,在grid可以引用到的话可以直接使用 displayfield.setValue(rows[0].get('A'));来赋值
3.
var display = Ext.create('Ext.form.field.Display',{
xtype: 'displayfield',
fieldLabel: 'Visitor',
name: 'visitor_score',
value: '11'
})
var grid = Ext.create('Ext.grid.Panel', {
store: store,
columns: [
{text : 'Company',
flex : 1,dataIndex: 'company',
renderer : function(val, meta, record) {
val = "<a href='javascript:;' >"+val+"</a>";
return val;
},
listeners:{
'click':function(){
var rows = grid.getSelectionModel().getSelection();
display.setValue(rows[0].get('name'))
}
}
} ], dockedItems: [{
xtype: 'toolbar',
dock: 'top',
items: [display]
}]
});
});
『肆』 extjs4.2 使用Ext.grid.panel显示ajax请求数据无法显示
请求网址肯定可以。
grid绑定store,store里配置代理,代理的配置决定请求的json的格式
代理配置例子如下
model: mkmodel,//数据模型
//storeId: storeId,
pageSize: pageSize,//每页记录数
defaultRootProperty: 'children.children',
proxy: {//代理
type: 'ajax',//类型
api: {
read: baseurl + '&action=search&tabname=' + tabname + '&molename=' + molename + '&istree=' + istree + addparam,//查询地址
create: baseurl + '&action=create&tabname=' + tabname + '&molename=' + molename,//新建地址
update: baseurl + '&action=update&tabname=' + tabname + '&molename=' + molename,//更新地址
destroy: baseurl + '&action=destroy&tabname=' + tabname + '&molename=' + molename,//删除地址
},
reader: {
type: 'json',//方式
rootProperty: 'children.children',//跟路径
totalProperty: 'children.TotalCount',//总数路径
successProperty: 'success'//成功标识
},
writer: {
type: 'json',
writeAllFields: true,//是否写会全部字段
root: 'data'
},
listeners: {
exception: function (own, request, operation, eOpts) {//异常处理
mkerrorutil.processFailure(operation);
}
},
},
success: function (response) {//成功处理
if (fun)
fun(source);
},
remoteFilter: IsHighVolume,//远程过滤开关
autoSync: false,//自动同步
autoLoad: false,//自动装载
『伍』 ExtJS store 的 sync() 方法是干什么的
sync同步需要看代理的设置,如果代理设置与后台交互,那同步也就发送给后台,仅是发送,后台接收到数据后写代码与数据库同步。
grid表格编辑后可以自动同步,需要配置代理为自动同步,
例子给你个store的配置,后台要根据你的实际用到的语言来实现
model: mkmodel,//数据模型
//storeId: storeId,
pageSize: pageSize,//每页记录数
defaultRootProperty: 'children.children',
proxy: {//代理
type: 'ajax',//类型
api: {
read: baseurl + '&action=search&tabname=' + tabname + '&molename=' + molename + '&istree=' + istree + addparam,//查询地址
create: baseurl + '&action=create&tabname=' + tabname + '&molename=' + molename,//新建地址
update: baseurl + '&action=update&tabname=' + tabname + '&molename=' + molename,//更新地址
destroy: baseurl + '&action=destroy&tabname=' + tabname + '&molename=' + molename,//删除地址
},
reader: {
type: 'json',//方式
rootProperty: 'children.children',//跟路径
totalProperty: 'children.TotalCount',//总数路径
successProperty: 'success'//成功标识
},
writer: {
type: 'json',
writeAllFields: true,//是否写会全部字段
root: 'data'
},
listeners: {
exception: function (own, request, operation, eOpts) {//异常处理
mkerrorutil.processFailure(operation);
}
},
},
success: function (response) {//成功处理
if (fun)
fun(source);
},
remoteFilter: IsHighVolume,//远程过滤开关
autoSync: false,//自动同步
autoLoad: false,//自动装载
『陆』 ExtJS中,表格可以出来,但是数据展现不出来
调试一下,是否有报错
『柒』 extjs是什么啊
ExtJS是一个Ajax框架,是一个用javascript写的,用于在客户端创建丰富多彩的web应用程序界面。ExtJS可以用来开发内RIA也即富客户端的AJAX应用。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应容用中。
ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。
Ext的UI组件模型和开发理念脱胎、成型于Yahoo组件库YUI和Java平台上Swing两者,并为开发者屏蔽了大量跨浏览器方面的处理。相对来说,EXT要比开发者直接针对DOM、W3C对象模型开发UI组件轻松。
『捌』 extjs6.0 怎么创建数据模型
你现在的程序tab是注释掉的,后面用tab正常吗? 你用id做为子窗口的id,有可能和菜单的id重复了,这个我没有仔细测,建议另外用一个变量。{text:'menu01',id:'m1',...}这样应该是把id给了这个菜单项了,你改成{text:'menu01',tid:'m1'...}这样试一下。 你试一下,现在不方便,我没有代码验证过。
『玖』 ExtJS问题:已经从服务器端读到了json数据,但是在grid中不显示
json格式的字符串有问题。。。。返回的json字符串最后一行里面,“教师”后面少一个大括号。。这种问题下次可以尝试使用Ext.decode("json格式的字符串");来解析一下,如果报错,那就是你的字符串有问题了。。