ExtJs 怎么实现将左侧表中一条数据动态插入到右侧表中

ExtJs 怎么实现将左侧表中一条数据动态插入到右侧表中,第1张

大致思路:

//声明好对应grid的Record对象

var ItemRecord = Ext.data.Record.create([

{name:'oid'},

{name:'oidname'},

{name:'vendor'}

])

//点那个添加按钮时则执行类似如下函数

function addRow2Grid(grid){

var values = Ext.getCmp('your_form_id').getForm().getValues() //form各字段的name属性要和ItemRecord里对应以便下面赋值。可以先console.log(values)看看值。

var rec = new ItemRecord(values)//实例化Record对象并赋值

//var rec =new grid.store.recordType(values)//试试这种行不,省了提前声明ItemRecord. grid.store.insert(grid.store.getCount(), rec) //插入作为grid最后一行

grid.getView().refresh()//刷新

}

可以使用xml文档来写的,

如:

app.data中添加.xml文档

<AllFunc name="达内sns网站">根

<func name="我的账户" navurl="连接到页面的名称.aspx" ImageUrl="图片路径">第一级

<funcNode name="基本资料" navurl="连接到页面的名称.aspx">第二级

eg:

SNS的菜单,在xml中的形式:

<?xml version="1.0" encoding="utf-8" ?>

<AllFunc name="SNS-3">

<Func name="我的账户" navurl="#">

<FuncNode name="基本资料" navurl="#"></FuncNode>

<FuncNode name="教育情况" navurl="#"></FuncNode>

<FuncNode name="工作情况" navurl="#"></FuncNode>

<FuncNode name="修改密码" navurl="#"></FuncNode>

<FuncNode name="头像照片" navurl="#"></FuncNode>

</Func>

<Func name="消息中心" navurl="#" ImageUrl="Index.aspx">

<FuncNode name="系统消息" navurl="Request.aspx"></FuncNode>

<FuncNode name="短消息" navurl="sendmess.aspx"></FuncNode>

</Func>

<Func name="好友" navurl="#">

<FuncNode name="我的好友" navurl="#"></FuncNode>

<FuncNode name="好友管理" navurl="#"></FuncNode>

<FuncNode name="查找好友" navurl="#"></FuncNode>

</Func>

<Func name="照片" navurl="#">

<FuncNode name="我的照片" navurl="#"></FuncNode>

<FuncNode name="上传照片" navurl="#"></FuncNode>

<FuncNode name="创建相册" navurl="#"></FuncNode>

</Func>

<Func name="礼物" navurl="#">

<FuncNode name="送礼物" navurl="#"></FuncNode>

<FuncNode name="收到的礼物" navurl="#"></FuncNode>

<FuncNode name="送出的礼物" navurl="#"></FuncNode>

<FuncNode name="礼物展示" navurl="#"></FuncNode>

</Func>

<Func name="投票" navurl="#"></Func>

</AllFunc>

新建一个.aspx页面,使用导航

添加treeview——小三角——选择数据源——xml文件(名称不用动)——数据文件(xml文档)——确定

数据绑定

数据绑定——选中节点 一级节点——添加——两个属性(textField :选择name属性;)第二级节点——设置两个属性——textfield:name(文本),navigateUrlField:navurl(超链接)——确定

自动套用格式——选择

Ext.create('Ext.panel.Panel', {

width: 500,

height: 300,

title: 'Border Layout',

layout: 'border',

items: [{

title: 'South Region is resizable',

region: 'south', // position for region

xtype: 'treepanel',

height: 100,

store : Ext.create('Ext.data.TreeStore',{

root:{

expanded:true,

children:[{ text:"detention", leaf:true},{ text:"homework", expanded:true, children:[{ text:"book report", leaf:true},{ text:"alegrbra", leaf:true}]},{ text:"buy lottery tickets", leaf:true}]}}),

split: true, // enable resizing,

listeners : {

itemclick: function(){

Ext.getCmp(''center'').add({xtype:'panel',html:'test'})

}

},

margins: '0 5 5 5'

},{

// xtype: 'panel' implied by default

title: 'West Region is collapsible',

region:'west',

xtype: 'panel',

margins: '5 0 0 5',

width: 200,

collapsible: true, // make collapsible

id: 'west-region-container',

layout: 'fit'

},{

title: 'Center Region',

id :'center',

region: 'center', // center region is required, no width/height specified

xtype: 'panel',

layout: 'fit',

margins: '5 5 0 0'

}],

renderTo: Ext.getBody()

})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11891758.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存