Ich verwende ExtJs6, wenn ich einen Artikel in einer Combobox wählen Ich will es einen Laden laden einen Proxy verwenden, Übergabe eines Parameters von combobbox Auswahl an den Proxy. Ich möchte auch den Benutzernamen und das Passwort aus dem Anmeldebildschirm hinzufügen. (Weiß nicht, wie man diesen Teil speichern und wiederverwenden)ExtJS geben Parameter aus Combobox Auswahl zu speichern Erstellung über Proxy
Bisher ist die Methode, die ich auf Combobox Auswahl zu benutzen ist wie folgt.
onComboboxSelect: function (combo, record, eOpts) {
console.log('new listener was hit');
//console.log(combo);
//console.log(record);
//console.log(eOpts);
//debugger;
//return selected Item
var selectedValue = record.get('ClientName');
var selectedCID = record.get('ClientID');
//return clientId from store
//var storeClients = Ext.data.StoreManager.lookup('myClientListStoreID');
//var targetRecord = storeClients.findRecord('ClientName', selectedValue);
var newStore = Ext.create('ExtApplication1.store.PositionsStore');
console.log(newStore);
newStore.load({
callback: function (records) {
Ext.each(records, function (record) {
console.log(record);
});
}
});
console.log(newStore);
//load positions store???
//var x1 = Ext.data.StoreManager.lookup('myStore');
//var x2 = Ext.data.StoreManager;
//console.log(x1);
},
Wie kann ich einen Parameter aus, dass ... SELECTEDCID, und übergeben Sie in den Laden Schöpfung unter
var encodedFilename = Ext.urlEncode({
user: 'myUsername',
pw: 'myPassword',
cid: 'paramater from combobox selection'
});
Ext.define('ExtApplication1.store.PositionsStore', {
extend: 'Ext.data.Store',
model: 'ExtApplication1.model.PositionsModel',
storeId: 'myStore',
alias: 'store.positionsstore',
proxy: {
type: 'ajax',
url: 'http://localhost:51020/Service4.svc/DownloadPos?' + encodedFilename,
reader: {
type: 'json',
rootProperty: 'data'
}
},
autoLoad: false
});
schließlich, wie kann ich auch den Benutzernamen und das Passwort von meinem Login-Fenster übergeben.
I edited COMBOBOX HIER SELECT ......
onComboboxSelect: function (combo, record, eOpts) {
console.log('new listener was hit');
//console.log(combo);
//console.log(record);
//console.log(eOpts);
//debugger;
//return selected Item
var selectedValue = record.get('ClientName');
var selectedCID = record.get('ClientID');
//return clientId from store
//var storeClients = Ext.data.StoreManager.lookup
('myClientListStoreID');
//var targetRecord = storeClients.findRecord('ClientName',
selectedValue);
//find the grid that was created
var mainPortalView = Ext.getCmp('mainportalID');
var targetGrid = mainPortalView.down('grid');
//find the store associated with that grid
var targetStore = targetGrid.getStore();
console.log(targetStore);
//debugger
//load and add items to the store
//targetStore.proxy.extraParams = {
// user: 'stephen',
// pw: 'forero',
// cid: selectedCID
//};
targetStore.load({
params: {
user: 'stephen',
pw: 'forero',
cid: selectedCID
},
callback: function (records) {
Ext.each(records, function (record) {
console.log(record);
});
console.log(targetStore);
//var targetStore2 = targetGrid.getStore();
//console.log(targetStore2);
}
});
I CREATE die Ansicht mit GRID HIER
var myStore = Ext.create('ExtApplication1.store.PositionsStore');
var gridSummary = Ext.create('Ext.grid.Panel', {
store: myStore,
width: 600,
title: 'my first grid',
columns: [
{
text: 'AcctNum',
dataIndex: 'AcctNum',
width: 100
},
{
text: 'AcctShortCode',
dataIndex: 'AcctShortCode',
flex: 1
},
{
text: 'Exchange',
dataIndex: 'Exchange',
width: 200
}
]
});
Ext.define('ExtApplication1.view.main.MainPortal', {
extend: 'Ext.panel.Panel',
xtype: 'mainportal',
alias: 'widget.mainportal',
id: 'mainportalID',
html: 'user... this is the main portal window',
autoScroll: true,
bodyPadding: 10,
items: [
gridSummary
]
});
funktioniert! Danke! – solarissf