效果:

户型图列显示的图片实际上就是一个超链接。

添加一个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);
};

转:http://blog.csdn.net/suixufeng/article/details/7468283

Extjs的grid的单元格中加载超链接和按钮的更多相关文章

  1. Swift - 异步加载各网站的favicon图标,并在单元格中显示

    下面是一个简单的应用,表格视图的各个单元格自动异步加载各个网站的favicon图标,并显示出来. 主要是复习下如何自定义单元格,单元格中图片的异步加载,以及didSet的用法. 效果图如下: 操作步骤 ...

  2. 通过VBA,当在EXCEL单元格中输入任意的日期格式时,都能自动转换为指定的标准格式的日期值

    在日常录入EXCEL表格的单元格里 ,我们输入一些一般性的日期内容,如:2017-10-17 或 2017/10/17时,EXCEL会自动识别为日期并按单元格设计格式显示,单元格中存储的值也是日期格式 ...

  3. Swift - 可编辑表格样例(可直接编辑单元格中内容、移动删除单元格)

    (本文代码已升级至Swift3)   本文演示如何制作一个可以编辑单元格内容的表格(UITableView). 1,效果图 (1)默认状态下,表格不可编辑,当点击单元格的时候会弹出提示框显示选中的内容 ...

  4. python实例:从excel读取股票代码,爬取股票信息写到代码后面的单元格中

    关键词:爬虫.python.request.接口.excel处理 思路: 1.首先准备好excel文档,把股票代码事先编辑进去. 2.脚本读取文档,依次读出股票代码到指定站点发起请求获取股票信息 3. ...

  5. Java 在Excel单元格中应用一种/多种字体样式

    在Excel表格中,设置单元格字体样式时,可以对单元格内的所有字符应用同一样式,即获取指定单元,应用样式即可:另外也可以对单元格内的不同字符内容应用不同字体样式,即获取单元格中的字符位置,应用样式:本 ...

  6. C#/VB.NET 在Excel单元格中应用多种字体格式

    在Excel中,可对单元格中的字符串设置多种不同样式,通常只需要获取到单元格直接设置样式即可,该方法设置的样式会应用于该单元格中的所有字符.如果需要对单元格中某些字符设置样式,则可以参考本文中的方法. ...

  7. EXCEL表格单元格中包含数字英文和汉字,如何自动去掉汉字,保留英文和数字

    EXCEL表格单元格中包含数字英文和汉字,如何自动去掉汉字,保留英文和数字 Function 求数字和字母(对象 As String) '在文本与数字混杂中提取数字和字母   Dim myReg    ...

  8. [EXCEL] 在单元格中自动输入时间和日期

    选中需输入的单元格,直接按下“Ctrl+:”组合键可输入当前日期:如果直接按下“Ctrl+Shift+:”组合键即可输入当前时间:当然也可以在单元格中先输入其他文字然后再按以上组合键,如先输入“当前时 ...

  9. 将Word表格中单元格中的文字替换成对应的图片

    示例 原文件结构: 替换后文档结构: 软件截图: 代码: using System;using System.Collections.Generic;using System.ComponentMod ...

随机推荐

  1. python接口自动化测试十:字典、字符串、json之间的简单处理

    # 字典 t = { #   键:值     '': '',     '': ''     } # 字典 # dict      key: value   key是唯一的,无序的 h = {      ...

  2. python 全栈开发,Day6(is,小数据池,编码转换)

    一.is a = 100 b = 100 print(a == b) print(a is b) 执行输出: TrueTrue 查看内存地址,使用id函数 print(id(a)) print(id( ...

  3. spring-boot集成spring-data-jpa

    参考这个就行, http://blog.csdn.net/wazz753/article/details/72472411 ps:集成过程中pom文件,我加入的内容如下,两个都需要,实体类记得加注解和 ...

  4. hdu 1027 输出第m个全排列(next_permutation)

    Sample Input6 4 //输出第4个全排列11 8 Sample Output1 2 3 5 6 41 2 3 4 5 6 7 9 8 11 10 # include <cstdio& ...

  5. Python list 函数

    list 修改列表元素: 下标直接修改  list[下标]=值 列表添加元素: list.append(值)末尾追加 列表插入元素: list.insert(下标,元素) 列表删除元素: del li ...

  6. 【Java】 剑指offer(25) 合并两个排序的链表

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照 ...

  7. 095实战 ETL的数据来源,处理,保存

    1.ETL 数据来源:HDFS 处理方式:Mapreduce 数据保存:HBase 2.为什么保存在Hbase中 数据字段格式不唯一/不相同/不固定,采用hbase的动态列的功能非常适合 因为我们的分 ...

  8. 宇宙最强VisualStudio2017配置pyQt5用于python3.6的UI界面工具(转)

    宇宙最强VisualStudio2017配置pyQt5用于python3.6的UI界面工具 转载: https://blog.csdn.net/m0_37606112/article/details/ ...

  9. Nutch源码阅读进程4

    前面依次看了nutch的准备工作inject和generate部分,抓取的fetch部分的代码,趁热打铁,我们下面来一睹parse即页面解析部分的代码,这块代码主要是集中在ParseSegment类里 ...

  10. 小B的询问

    OJ题号:BZOJ3781.洛谷2709 思路: 根据平方和公式,$(a+b)^2=a^2+2ab+b^2$,即当$c_i$增加$1$时,新的答案增加$2C_i+1$,减少时亦同.莫队求解即可. #i ...