我正在使用一个网格面板,我需要在其中创建一个列作为链接(它应该看起来像链接 - 没有动作)。我正在使用网格面板中的监听器,并点击一个单元格,它的工作正常。唯一的事情是第1列应该看起来像一个链接。但是如何把href =“#”我不确定。这是我的代码:
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
答案 0 :(得分:5)
您还可以使用模板列:
columns: [
{ text: 'External Link', xtype: 'templatecolumn', tpl: '<a href="{url}">{title}</a>'}
]
答案 1 :(得分:3)
您可以指定所需的列,只需添加链接即可添加渲染器。这个例子可能对你有帮助。
var template = new Ext.XTemplate(
'<a href="#"> </a>').compile();
columns:[
{
header: "",
renderer: function () {
return template.applyTemplate();
}
},
答案 2 :(得分:0)
您可以使用渲染器功能,如下所示
columns: [
{
header: 'number',
dataIndex: 'number',
flex: 1,
renderer: function(number) {
return Ext.String.format('<a href="#users/{0}">{0}</a>', number);
}
},