extjs中如何把gridPanel中的某一条记录的主键列的值取出,放到弹出框中? 本帖最后由 thinkpadshi 于 2013-05-05 17:32:04 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 extjs只是前台http://www.java2v.com/CN/GetPrimaryKeyColumnFromATable.htm 需要的就是前台,你发的这个网址我看了,不是我想要的,我不需要后台的东西,想要的数据就在gridPanel中,就是不知道怎么取 无论是主键列还是非主键列,只要是列,就都是column组件里的一个元素,这个元素的值由dataIndex属性值决定了的,你如果想要截获这个值(也许你想要将这个值存进一个JS 数组里?),你可以用column的renderer属性,这个属性是一个函数,在列数据加载后会回调这个函数,函数的第一个参数就是你要的某行某列的值。具体你可以查看api里 ColumnModel 对象的renderer属性.column:[{name:'',dataIndex:'name',renderer:function(value,...){return value;}},{...}] 哈哈,有缘啊,又见面了我的意思就是,比如我已经在一个tabPanel中用gridPanel显示了一条记录,如下:列:A B C D E..........数值.......然后选中,点击某个按钮,弹出一个框,如下:(A是主键)A:XX(readonly)B:XX(readonly)G:输入框H:输入框I:输入框提交 取消 响应 itemdblclick eventitemdblclick ( this, record, item, index, e, eOpts ) { alert( record.get('id') );} 撸主,其实这个取值的问题也不困难的,比如楼上说从record里取,确实就行。我告诉你怎么从record里取,我楼上的回复里告诉你去column的renderer属性里重写回调函数了嘛。{ dataIndex:'name', renderer: function(value,metaData,record){ //这里的参数是固定的第一个就是你要的某一列的单值,第三个参数就是你要的record,里面有这一行的所有数据 var val = value; arrA.push(val) //如果你要调出所有这一列的值,你就可以这么写, arrA是某个全局变量,引用一个数组对象 if(record.==""){ //如果要特定这一列某一行的值,你可以通过这个回调函数的record里的数据来做判断 arrA.push(val); } return value; }} 哈哈,长见识了,你就好人做到底,那在ext.window里面怎么显示这个value呢? 哎,我现在正好闲着,不过不管撸主喜不喜欢,我觉得撸主JavaScript基础貌似有很大提高空间。说真的,对于ExtJS使用者而言,如果他们能很熟练的使用JS,那么他们使用ExtJS来开发的效率会成倍的翻。你要将某一个值在另外一个组件里显示,最直接的办法就是将这个值赋给某一个全局变量,这个全局变量必须能被window里的组件使用到.下面是传值的过程代码,如果是v3.0+,可以直接运行,如果是v4.0+改Ext.define('classPath',{})var varibleNextToWindowCmp = value //这个是你要显示的value值. new Ext.Window({ width:.., height:.., layout:'fit', items:[{ xtype:'panel', layout:'fit', items:[{ xtype:'textarea', value:varibleNextToWindowCmp }] }] }).show(); 哈哈,说的极是,没专门学过ExtJs,只是之前在公司实习的时候学了一下,现在做毕业设计,边做边学,要是用jsp做的话,早就做完了,可惜jsp太丑了。真是太感谢你了,待会儿我试一下,又不懂的再问您哈 哈哈,其实我也希望有更多的coder来使用ext. 哈哈,extjs确实很强大,尤其是4.0以后的,我去过的公司都是用extjs的,但是如果面向用户的话,就不行了,得要美工了,extjs没有美工发挥的余地 呵呵,其实ext也提供了很多修改css的组件属性,而且现在网络上不也有很多适合不同版本的主题包嘛。 这个还是第一次听说,这样的话就灵活一点,用途会更广的extjs是我见过的最强大的js框架,比jquery在外观上强大,比bootstrap在脚本上强大 为什么我的onscroll只执行一次 100分求,鼠标经过 图片和文字 同时变换 onload之后document.write会覆盖原html 帮我看下、我的表单验证写全了没,代码怎么改少些?谢谢大家了! 倒序 正序的实现》?????????????????????? 一个简单的JS计算功能 封装了一个HTC 栏目组件,请教如何开放事件在页面调用 JS中二维数组的递归问题 屏蔽ie菜单,这段代码我怎么看不懂?哪位高手指教一下! 关于JS点击按钮改变颜色的问题, easyui中datagrid分页的问题 在myeclipse运行程序出现500错误如下,怎么解决?项目为网上书店
这个属性是一个函数,在列数据加载后会回调这个函数,函数的第一个参数就是你要的某行某列的值。
具体你可以查看api里 ColumnModel 对象的renderer属性.
column:[{name:'',dataIndex:'name',renderer:function(value,...){return value;}},{...}]
我的意思就是,比如我已经在一个tabPanel中用gridPanel显示了一条记录,如下:列:A B C D E
..........数值.......然后选中,点击某个按钮,弹出一个框,如下:(A是主键)
A:XX(readonly)
B:XX(readonly)
G:输入框
H:输入框
I:输入框提交 取消
itemdblclick ( this, record, item, index, e, eOpts )
{
alert( record.get('id') );
}
我楼上的回复里告诉你去column的renderer属性里重写回调函数了嘛。{
dataIndex:'name',
renderer: function(value,metaData,record){ //这里的参数是固定的第一个就是你要的某一列的单值,第三个参数就是你要的record,里面有这一行的所有数据
var val = value;
arrA.push(val) //如果你要调出所有这一列的值,你就可以这么写, arrA是某个全局变量,引用一个数组对象
if(record.==""){ //如果要特定这一列某一行的值,你可以通过这个回调函数的record里的数据来做判断
arrA.push(val);
}
return value;
}
}
你要将某一个值在另外一个组件里显示,最直接的办法就是将这个值赋给某一个全局变量,这个全局变量必须能被window里的组件使用到.
下面是传值的过程代码,如果是v3.0+,可以直接运行,如果是v4.0+改Ext.define('classPath',{})var varibleNextToWindowCmp = value //这个是你要显示的value值.
new Ext.Window({
width:..,
height:..,
layout:'fit',
items:[{
xtype:'panel',
layout:'fit',
items:[{
xtype:'textarea',
value:varibleNextToWindowCmp
}]
}]
}).show();
真是太感谢你了,待会儿我试一下,又不懂的再问您哈
extjs是我见过的最强大的js框架,比jquery在外观上强大,比bootstrap在脚本上强大