以下是我的ext 代码 想要在加载的时候将gridpanel中第一行的数据 的 partyname默认赋值给 DisplayField 当事人名称 // 当事人信息
var partyStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : '/SLaw/contract/QueryPartiesGridForInfo.action?contId='+cont.id
}),
remoteSort : true,
reader : new Ext.data.JsonReader(
{ root : 'partyGridPanelList' },
[
{name : 'partyName', type : 'string'},
{name : 'partyAddress', type : 'string'},
{name : 'partyId', type : 'string'},
{name : 'linkMan', type : 'string'}
]
)
});
partyStore.load();

this.partyCm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),// 获得行号
{ header : "当事人名称", width : 250, align : "center",
sortable : false, menuDisabled : true, dataIndex : "partyName"
}, {
header : "当事人地址", width : 250, align : "center",
sortable : false, menuDisabled : true, dataIndex : "partyAddress"
}, {
header : "联系人", width : 180, align : "center",
sortable : false, menuDisabled : true, dataIndex : "linkMan"
}, {
header : "partyId", hidden: true, dataIndex : "partyId"
}
]);

var partyGridPanel = new Ext.grid.GridPanel({
store: partyStore,
cm: this.partyCm,
sm : new Ext.grid.RowSelectionModel(),
loadMask: true,
autoScroll: true,
border: false,
autoHeight: true,
title: '当事人信息',
fieldLabel : "当事人信息",
bbar: new Ext.PagingToolbar({
pageSize: 15,
store: partyStore,
displayInfo: true,
plugins: new Ext.ux.ProgressBarPager()
}),
listeners: {
'cellclick': function(obj){
setCredit(obj);
}
},
anchor: '90%'
});
var partyName = new Ext.form.DisplayField({
fieldLabel : "当事人名称",
anchor : "80%"
});

解决方案 »

  1.   


    var partyName = new Ext.form.DisplayField({
                fieldLabel : "当事人名称",
                anchor : "80%",
                value:'默认值'
            });
      

  2.   

    var record = partyGridPanel.getStore().getAt(0);
    var name = "";
    if(record){
        name = record.data.partyname;
    }
    var partyName = new Ext.form.DisplayField({
                fieldLabel : "当事人名称",
                anchor : "80%",
                value:name
            });
      

  3.   

    var record = partyGridPanel.getStore().getAt(0);
    alert('23 '+record);
    弹出的是“ 23 undefined”
      

  4.   

    首先你的store必须先加载,你可以把赋值的代码放到监听store加载后事件里面
      

  5.   

    var record = partyGridPanel.getStore().getAt(0);
    alert('23 '+record); 我在放在var partyStore = new Ext.data.Store({
    proxy : new Ext.data.HttpProxy({
    url : '/SLaw/contract/QueryPartiesGridForInfo.action?contId='+cont.id
    }),
    remoteSort : true,
    reader : new Ext.data.JsonReader(
    { root : 'partyGridPanelList' },
    [
    {name : 'partyName', type : 'string'},
    {name : 'partyAddress', type : 'string'},
    {name : 'partyId', type : 'string'},
    {name : 'linkMan', type : 'string'}
    ]
    )
    });
    partyStore.load();

    this.partyCm = new Ext.grid.ColumnModel([
    new Ext.grid.RowNumberer(),// 获得行号
    { header : "当事人名称", width : 250, align : "center",
    sortable : false, menuDisabled : true, dataIndex : "partyName"
    }, {
    header : "当事人地址", width : 250, align : "center",
    sortable : false, menuDisabled : true, dataIndex : "partyAddress"
    }, {
    header : "联系人", width : 180, align : "center",
    sortable : false, menuDisabled : true, dataIndex : "linkMan"
    }, {
    header : "partyId", hidden: true, dataIndex : "partyId"
    }
    ]);

    var partyGridPanel = new Ext.grid.GridPanel({
    store: partyStore,
    cm: this.partyCm,
    sm : new Ext.grid.RowSelectionModel(),
    loadMask: true,
    autoScroll: true,
    border: false,
    autoHeight: true,
    title: '当事人信息',
    fieldLabel : "当事人信息",
    bbar: new Ext.PagingToolbar({
    pageSize: 15,
    store: partyStore,
    displayInfo: true,
    plugins: new Ext.ux.ProgressBarPager()
    }),
    listeners: {
    'cellclick': function(obj){
    setCredit(obj);
    }
    },
    anchor: '90%'
    }); 下面写的
      

  6.   

    listeners: {
    'load': function(obj){
    var record = partyStore.getAt(0);
    partyName.setValue(record.get('partyName'));
    partyIdHiddenId.setValue( record.get('partyId') );
    }
    }
    这样行~