Mar 19, 2010, 11:26 AM
Grid lines to enter
hello, I have a grid that lines up with automatic return. If someone already done this could help me. I have problems when the focus leaves the lines can not return the focus to the next line. The first time you enter key does work, but when I withdraw the core of the set and try to hit enter again to create the new line, enter does not trigger! if someone can help me I am thankful!
My code
My code
<script type="text/javascript">
function NovaLinha() {
var rowIndex = gdCarrinho.addRecord();
gdCarrinho.startEditing(rowIndex, 1);
gdCarrinho.view.focusEl.focus(rowIndex);
document.form1.Nlinha.value = rowIndex;
}
var ProximoFocus = function() {
var Linha = parseInt(document.form1.Nlinha.value);
if (document.form1.txtCodProduto.value != "") {
gdCarrinho.startEditing(Linha, 2);
}
}
</script>
<ext:Hidden ID="Nlinha" Text="" runat="server" />
<ext:Store ID="StoCarrinho" runat="server" >
<Reader>
<ext:JsonReader ReaderID="produto" >
<Fields>
<ext:RecordField Name="produto"/>
<ext:RecordField Name="qtd" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
<ext:BorderLayout runat="server" >
<Center>
<ext:TabPanel ID="TabPanel1" runat="server" ActiveTabIndex="0" >
<Tabs>
<ext:Tab ID="Tab1" Frame="true" runat="server" Title="Itens" >
<Body>
<ext:BorderLayout runat="server">
<center Collapsible="True">
<ext:Panel Frame="false" Shadow="Drop" runat="server" Title="Carrinho">
<Body >
<ext:FitLayout ID="FitLayout1" runat="server">
<ext:GridPanel ID="gdCarrinho" DeferRowRender="false" EnableColumnMove="false" ActiveIndex="0" StripeRows="true" runat="server" StoreID="StoCarrinho" >
<ColumnModel ID="ColumnModel2" runat="server" >
<Columns>
<ext:RowNumbererColumn Align="Center" MenuDisabled="true" Sortable="true" Resizable="true" />
<ext:Column ColumnID="produto" DataIndex="produto" Header="Código" >
<Editor>
<ext:NumberField ID="txtCodProduto" DecimalSeparator="." runat="server" DecimalPrecision="0" EnableKeyEvents="True">
<Listeners>
<Blur Fn="ProximoFocus" />
</Listeners>
</ext:NumberField>
</Editor>
</ext:Column>
<ext:Column ColumnID="qtd" DataIndex="qtd" Header="Quantidade" >
<Editor>
<ext:NumberField ID="txtQtd" DecimalPrecision="0" DecimalSeparator="." runat="server" EnableKeyEvents="True">
<Listeners>
<Change Fn="NovaLinha" />
</Listeners>
</ext:NumberField>
</Editor>
</ext:Column>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" SingleSelect="true" MoveEditorOnEnter="true" runat="server" />
</SelectionModel>
<View>
<ext:GridView ID="GridView1" runat="server" IDMode="Legacy">
<GetRowClass FormatHandler="False" Handler="" />
</ext:GridView>
</View>
<Buttons>
<ext:Button ID="bntSalvar" runat="server" Text="Salvar Itens" Icon="Add">
<AjaxEvents>
<Click OnEvent ="Inserir_Item" >
<EventMask ShowMask="true" Target="Page" Msg="Processando Aguarde..." />
<ExtraParams>
<ext:Parameter Name="Values" Value="Ext.encode(#{gdCarrinho}.getRowsValues(false))" Mode="Raw" />
<ext:Parameter Name="CORowCount" Value="StoCarrinho.getCount()" Mode="Raw" />
</ExtraParams>
</Click>
</AjaxEvents>
</ext:Button>
</Buttons>
<KeyMap>
<ext:KeyBinding Alt="false" Ctrl="false" Shift="false">
<Keys>
<ext:Key Code="ENTER" />
<ext:Key Code="RETURN" />
</Keys>
<Listeners>
<Event Fn="NovaLinha" />
</Listeners>
</ext:KeyBinding>
</KeyMap>
</ext:GridPanel>
</ext:FitLayout>
</Body>
</ext:Panel>
</center>
</ext:BorderLayout>
</Body>
</ext:Tab>
</Tabs>
</ext:TabPanel>
</Center>
</ext:BorderLayout>
With the TAB key works perfectly but I can not enter the