如题, <script type="text/javascript"> function showUrl(value)
{
return "<a href=' http://www.baidu.com' target='_blank'>"+value+"</a>";
}
Ext.onReady(function(){
/*定义tabpanel*/
var tabsDemo=new Ext.TabPanel({
renderTo:Ext.getBody(),
width:700,
activeTab:0,//当前激活标签
frame:true,
items:[{
contentEl:"tabOne",//标签页的页面元素id(加入你想显示的话)
title:"测试1",
closable:true//是否现实关闭按钮,默认为false
},{
contentEl:"grid",
title:"测试2"
}]
});
/*定义数据存储器 获取数据*/
var ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:"getData"}),
reader: new Ext.data.JsonReader(
{
totalProperty:'totalProperty',
root:'root'
},
[
{name: "id"},
{name: "name"},
{name: "gender"},
{name: "address"},
{name: "email"},
{name: "age"}
]
),
remoteSort: true//排序时是否通过proxy获取新的数据
});
/*定义勾选框,若不需要,则可以不定义*/
var sm = new Ext.grid.CheckboxSelectionModel(); /*定义列*/
var cm=new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),//增加自动编号,不需要可不必定义
sm,//勾选框,不需要可不必定义
//header是指列头显示的文本,dataIndex列对应 的记录集字段,sortable是指是否排序,renderer列的渲染函数(当指定到这列时,可以做一些额外的操作),format信息
{header: 'id', dataIndex: "id", sortable: true},
{header: '姓名', dataIndex: "name", sortable: true,renderer:showUrl},
{header: '性别', dataIndex: "gender", sortable: true},
{header: '地址', dataIndex: "address", sortable: true},
{header: 'email', dataIndex: "email", sortable: true},
{header: '年龄', dataIndex: "age", sortable: true}
]); /*生成表格*/
var grid1 = new Ext.grid.GridPanel({
el:"grid",//相当于ApplyTo,将该组件应用到指定的对象
ds: ds,
cm:cm,
width:700,
//autoExpandColumn: 'id',
sm:sm,
loadMask: {msg:'正在加载数据……'}, //当页面加载数据时显示加载图片
viewConfig: { //是否强制调整列宽度,以致不出现水平滚动条
forceFit:true
},
height:210,
title: '用户信息',
bbar: new Ext.PagingToolbar({
pageSize: 5,
store: ds,
//cls: 'rightPage',给组件添加额外的样式
displayInfo: true,
displayMsg: '第{0} 到 {1} 条数据 共{2}条',
emptyMsg: "没有数据"
})
});
grid1.render(); /*render的Id绑定到div的id,也可以在grid控件中直接使用renderTo属性,同样达到目的*/
ds.load({ params: { start: 0, limit: 5 } });
});
</script>
请大家帮忙看一看,谢谢啦,另外请教一个问题就是renderer函数,它可以传多个参数吗?
{
return "<a href=' http://www.baidu.com' target='_blank'>"+value+"</a>";
}
Ext.onReady(function(){
/*定义tabpanel*/
var tabsDemo=new Ext.TabPanel({
renderTo:Ext.getBody(),
width:700,
activeTab:0,//当前激活标签
frame:true,
items:[{
contentEl:"tabOne",//标签页的页面元素id(加入你想显示的话)
title:"测试1",
closable:true//是否现实关闭按钮,默认为false
},{
contentEl:"grid",
title:"测试2"
}]
});
/*定义数据存储器 获取数据*/
var ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:"getData"}),
reader: new Ext.data.JsonReader(
{
totalProperty:'totalProperty',
root:'root'
},
[
{name: "id"},
{name: "name"},
{name: "gender"},
{name: "address"},
{name: "email"},
{name: "age"}
]
),
remoteSort: true//排序时是否通过proxy获取新的数据
});
/*定义勾选框,若不需要,则可以不定义*/
var sm = new Ext.grid.CheckboxSelectionModel(); /*定义列*/
var cm=new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),//增加自动编号,不需要可不必定义
sm,//勾选框,不需要可不必定义
//header是指列头显示的文本,dataIndex列对应 的记录集字段,sortable是指是否排序,renderer列的渲染函数(当指定到这列时,可以做一些额外的操作),format信息
{header: 'id', dataIndex: "id", sortable: true},
{header: '姓名', dataIndex: "name", sortable: true,renderer:showUrl},
{header: '性别', dataIndex: "gender", sortable: true},
{header: '地址', dataIndex: "address", sortable: true},
{header: 'email', dataIndex: "email", sortable: true},
{header: '年龄', dataIndex: "age", sortable: true}
]); /*生成表格*/
var grid1 = new Ext.grid.GridPanel({
el:"grid",//相当于ApplyTo,将该组件应用到指定的对象
ds: ds,
cm:cm,
width:700,
//autoExpandColumn: 'id',
sm:sm,
loadMask: {msg:'正在加载数据……'}, //当页面加载数据时显示加载图片
viewConfig: { //是否强制调整列宽度,以致不出现水平滚动条
forceFit:true
},
height:210,
title: '用户信息',
bbar: new Ext.PagingToolbar({
pageSize: 5,
store: ds,
//cls: 'rightPage',给组件添加额外的样式
displayInfo: true,
displayMsg: '第{0} 到 {1} 条数据 共{2}条',
emptyMsg: "没有数据"
})
});
grid1.render(); /*render的Id绑定到div的id,也可以在grid控件中直接使用renderTo属性,同样达到目的*/
ds.load({ params: { start: 0, limit: 5 } });
});
</script>
请大家帮忙看一看,谢谢啦,另外请教一个问题就是renderer函数,它可以传多个参数吗?
另外,我的那个“对象不支持此属性或方法”的错因何在呢?
你的那个对象不支持此属性或者方法 是在哪个地方提示错误? 建议你用火狐 火狐里firebug 可以定位到错误行。 renderer 这个还有在每个列里可以用 那样应该更加灵活 可以控制每列根据不同情况设置显示{header: '年龄', dataIndex: "age", sortable: true,renderer:renderDescn}
然后再写这个函数 例如
function renderDescn(value, cellmeta, record, rowIndex, columnIndex, store){
if(record.data["ReleaseFlag"] ==0)
return "<font color='red'>"+value+"</font>";
else
return value;
}那这个record就是你这行数据的所有数据集 那你想要哪个参数都行
那个renderer我想连接到一个url,然后想传几个参数,且参数不一定是我显示的dataindex,请问,这种情况该怎么办?