Extjs4 如何对Ext Grid面板中的列使用href
我正在使用一个网格面板,我需要在其中创建一个列作为链接,它应该看起来像链接,没有任何操作。我在gridpanel中使用listener,点击一个单元格就可以了。唯一的问题是第一列应该看起来像一个链接。但是如何放置href=我不确定。这是我的代码:Extjs4 如何对Ext Grid面板中的列使用href,extjs4,Extjs4,我正在使用一个网格面板,我需要在其中创建一个列作为链接,它应该看起来像链接,没有任何操作。我在gridpanel中使用listener,点击一个单元格就可以了。唯一的问题是第一列应该看起来像一个链接。但是如何放置href=我不确定。这是我的代码: var addressDetailsStore = Ext.create('Ext.data.Store', { id:'addressDetailsStore', autoLoad: true, fields: [
var addressDetailsStore = Ext.create('Ext.data.Store', {
id:'addressDetailsStore',
autoLoad: true,
fields:
[
'addressType',
'street1',
'street2',
'province',
'city',
'country'
],
proxy: {
type: 'ajax',
url: 'resources/json/addressDetails.json', // url that will load data with respect to start and limit params
reader: {
type: 'json',
root: 'items',
}
}
});
Ext.define('iOMS.view.common.addressView', {
extend: 'Ext.grid.Panel',
alias: 'widget.AddressViewPanel',
layout: 'fit',
collapsible: true,
title:'Address',
store: addressDetailsStore,
listeners:{
cellclick:function (iView, iCellEl, iColIdx, iRecord, iRowEl, iRowIdx, iEvent){
// Getting the event and I am doing logic here..
}
我只是希望“addressType”列看起来像一个链接,我不知道放在哪里href。。。
谢谢你的回复。
-Praveen您可以指定所需的列,对于只包含链接的列,添加渲染器。这个例子可能会对您有所帮助
var template = new Ext.XTemplate(
'<a href="#"> </a>').compile();
columns:[
{
header: "",
renderer: function () {
return template.applyTemplate();
}
},
您还可以使用模板列:
columns: [
{ text: 'External Link', xtype: 'templatecolumn', tpl: '<a href="{url}">{title}</a>'}
]
您可以使用如下所示的渲染器功能
columns: [
{
header: 'number',
dataIndex: 'number',
flex: 1,
renderer: function(number) {
return Ext.String.format('<a href="#users/{0}">{0}</a>', number);
}
},