wjm901215
2010-11-05 12:10
采纳率: 0%
浏览 213
已采纳

ext gridPanel点击详细可以传多个参数吗

listGrid = new Ext.grid.GridPanel({
region : 'center',
border : false,
store : listStore,
autoHeight:true,
autoShow:true,
columns : [{
header : '名称',
dataIndex : 'name',
width : 60,
align : 'center',
sortable : false,
menuDisabled : true
},{header : '操作',
dataIndex : 'mapbarlonglat',
align : 'center',
sortable : false,
menuDisabled : true,
width : 60,
renderer:function(value)
{
return "   详细   ";
}}],

我想在详细里面在传2个参数这样可以吗

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • cyrilluce 2010-11-05 14:48
    已采纳

    你是意思是那个javascript:showDetail多传几个吗?
    这个就按JS的语法来就行了,你平常怎么调用的showDetail,这里就输出对应的字符串。

    比如: showDetail(1, "abc")
    字符串就是: "showDetail(1, \"abc\")"
    把中间的数据换成变量: "showDetail("+a+", \""+b+"\")"
    更简单的方法: String.format("showDetail({0}, \"{1}\")", a, b);

    其实,以上都走了弯路,没有充分利用GridPanel强大的事件,你其实这样做就行了:
    定义列显示方法
    renderer : function(){
    return "详细";
    }
    监听Grid的cellclick事件
    listGrid.on("cellclick", function(grid, rowIndex, columnIndex, e){
    var r;
    if(Ext.fly(e.target).is("span.detail")){
    r = grid.getStore().getAt(rowIndex);
    showDetail(r.get("mapbarlonglat"));
    }
    });

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • lizhiyezi 2010-11-05 14:49

    可以,参数只能传递字符串,数字。

    return "   详细   ";

    评论
    解决 无用
    打赏 举报
  • cyrilluce 2010-11-05 14:50

    哦,上面有些错误,应该是:
    Ext.fly(e.target).is("span[act=detail]")

    span.detail是判断样式含detail

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题