Extjs的grid的单元格中加载超链接和按钮
来源:互联网 发布:代码怎么写出来知乎 编辑:程序博客网 时间:2024/04/28 03:25
效果:
户型图列显示的图片实际上就是一个超链接。
添加一个Button分2个步骤:
1.在列头中定义超链接列或者Button列的HTML代码,也就是Render
2.添加该Button的事件处理函数。其中,gridPanel应作为参数传入该函数。
应该在gridPanel初始化时定义:
(1)cellClick的listener:cellClick
(2)cellClick事件的处理函数:onCellClick
列头定义的代码如下:
var cm = new Ext.grid.ColumnModel([sm, new Ext.grid.RowNumberer(), //自动添加行号 { header: "房间编号", dataIndex: "RoomNumber", //可以进行排序 sortable: true }, { header: "户型结构", dataIndex: "huxingjiegou", //可以进行排序 isHidden: true, sortable: true }, { header: "面积(M²)", dataIndex: "area", //可以进行排序 sortable: true }, { header: "单价(元/M²)", dataIndex: "singlePrice", //可以进行排序 sortable: true // editor: new Ext.grid.GridEditor(new Ext.form.NumberField({ // allowBlank: false // })) }, { header: "总价(元)", dataIndex: "totalPrice", //可以进行排序 sortable: true }, { header: "面积(M²)", dataIndex: "mianjiCC", //可以进行排序 sortable: true }, { header: "单价(元/M²)", dataIndex: "priceCCS", //可以进行排序 sortable: true // editor: new Ext.grid.GridEditor(new Ext.form.NumberField({ // allowBlank: false // })) }, { header: "总价(元)", dataIndex: "totalPriceCCS", //可以进行排序 sortable: true }, { header: "面积(M²)", dataIndex: "mianjiCK", //可以进行排序 sortable: true }, { // header: "单价(元/M²)", header: "总价(元/M²)", dataIndex: "priceCK", //可以进行排序 sortable: true // editor: new Ext.grid.GridEditor(new Ext.form.NumberField({ // allowBlank: false // })) }, { header: "", dataIndex: "totalPriceALL", //可以进行排序 sortable: true }, { header: "户型图", tooltip: "户型图", width: 120, locked: true, menuDisabled: true, sortable: false, dataIndex: "huxingPic", renderer: function (data, metadata, record, rowIndex, columnIndex, store) { var picture = store.getAt(rowIndex).get('huxingPic'); return '<a href="' + picture + '">' + '<img src="' + picture + '"width=60 hight=50> </a>'; } }, { header: "订购", renderer: function (value, meta, record) { var formatStr = "<button onclick='javscript:return false;' class='order_bit'>订购</button>"; var resultStr = String.format(formatStr); return "<div class='controlBtn'>" + resultStr + "</div>"; } .createDelegate(this), css: "text-align:center;", // width: 30, sortable: false } ]);
注意超链接为'<a href="' + picture + '">',而按钮为return "<div class='controlBtn'>"
按钮处理事件的代码如下:
//按钮点击事件 grid.on('cellclick', function (grid, rowIndex, columnIndex, e) { var btn = e.getTarget('.controlBtn'); var get = e.getTarget('.get'); if (get) { var t = e.getTarget(); record = grid.getStore().getAt(rowIndex); var control = t.className; row = grid.getSelectionModel().getSelected(); //得到选择所有行 rowIndexId = rowIndex; this.GetRoomDetails(record, rowIndexId, projectName, loudongName); //传行一行记录直接加载 } if (btn) { var t = e.getTarget(); record = grid.getStore().getAt(rowIndex); var control = t.className; row = grid.getSelectionModel().getSelected(); //得到选择所有行 switch (control) { case 'sale_already': { var state = "已售"; // this.SetSaleState(record,state) this.GetOrderManagement(record, state, rowIndexId, projectName, loudongName) } break; case 'order_bit': { var state = "大定"; // this.SetSaleState(record,state) this.GetOrderManagement(record, state, rowIndexId, projectName, loudongName) } break; } } },this);};
- Extjs的grid的单元格中加载超链接和按钮
- Extjs的grid的单元格中加载超链接和按钮
- Extjs grid添加图片,按钮和超链接
- ExtJs中grid分页加载的问题
- ExtJS中Grid的单元格内容换行扩展
- ExtJS中Grid的单元格内容提示扩展
- extjs 如何取grid中单元格的值
- 获取ExtjS grid 单元格cell的值
- ExtJs中Grid加载数据的超时时间的设置
- extjs之隔行变色和grid加载时的等待
- ExtJs中Grid的用法
- ExtJS Grid 改变单元格背景颜色的方法
- ExtJS Grid 改变单元格背景颜色的方法
- EXTJS GRID 改变单元格背景颜色的方法
- extjs grid 中 Checkbox 单选和复选的限定
- Extjs 中fields和grid的columns如何动态生成
- EXTjs grid 超链接
- extjs怎么往grid的每个cell中添加 radio单选按钮
- 使用UIActivityIndicatorView
- 2012.4.16小米实习
- PicoContainer
- PHP 常量与变量
- Complete graph
- Extjs的grid的单元格中加载超链接和按钮
- eclipse创建Adnroid虚拟机提示:XXXX目录.avd is in the way. Use --force if you want to overwrite.
- 【IOS】多语言资源文件加载的一种解决方案
- 语义化的HTML标签和属性
- Google是如何通过拆股增强控制权的?
- 【通知】4月18日22:00至4月19日2:00网站服务暂停公告
- (大神勿入)据说是一道面试题,然后自己就写了一发(矩阵的螺旋输出)
- CSS漂亮搜索框代码
- 工厂方法与抽象工厂方法的区别