Jul 16, 2012, 1:40 PM
[CLOSED] GridPanel RowSelect event fires twice
Hi,
I have a client side function selecting a new GridPanel row into view:
Please suggest a workaround or let me know if you need more info.
I have a client side function selecting a new GridPanel row into view:
var selectRecordIntoView = function (recordKey) {
var grid = GridPanel1,
record = grid.store.getById(recordKey);
grid.store.openPage(record, function () {
grid.getSelectionModel().selectRow(grid.store.indexOf(record));
});
};
var addNewRecord = function (response) {
var grid = GridPanel1;
var newRecord = {
RecordKey: response.RecordKey,
param1: response.param1
};
grid.addRecord(newRecord);
grid.store.commitChanges();
selectRecordIntoView(response.RecordKey);
//FormPanel1.getForm().loadRecord(newRecord);
//FormPanel1.record = newRecord;
}
The GridPanel defines the RowSelect handler as follows: <SelectionModel>
<ext:RowSelectionModel runat="server" SingleSelect="true" ID="RowSelectionModel1">
<DirectEvents>
<RowSelect Before="HiddenSelectedRow.setValue(Ext.encode(GridPanel1.getRowsValues({selectedOnly: true})));"
OnEvent="GridPanel1_RowSelect" Success="FormPanel1.getForm().loadRecord(record);
FormPanel1.record=record;
">
<ExtraParams>
<ext:Parameter Name="param1" Value="record.data['param1']" Mode="Raw">
</ext:Parameter>
</ExtraParams>
<EventMask ShowMask="true" />
</RowSelect>
</DirectEvents>
</ext:RowSelectionModel>
</SelectionModel>
When I add a new row on the client using the addNewRecord() function, I'd like to select the new row and the details form databinding to occur. There're several problems I'm experiencing here:- Form databinding has to be done manually
- RowSelect event fires twice for some reason
- The new record gets selected but isn't scrolled into view - would be nice to have
Please suggest a workaround or let me know if you need more info.
Last edited by Daniil; Jul 17, 2012 at 1:58 PM.
Reason: [CLOSED]