Hi Geoffrey
With toolbar, set disable=true, isn't works.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GrdCargo.aspx.cs" Inherits="Crm.View.GrdCargo" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<ext:XScript ID="XScript1" runat="server">
<script type="text/javascript">
var showContextMenu = function(DeletedValue) {
}
var alertDelete = function() {
Grid = #{GridPanel1};
if (Grid.hasSelection()){
return "Confirma Exclusão? <br> " + Grid.getSelectionModel().getSelected().data.crgDescricao;
}
}
var novoRegistro = function() {
var Grid = #{GridPanel1};
Grid.getRowEditor().stopEditing();
Grid.insertRecord(0, {
crgDescricao: ""
});
Grid.getView().refresh();
Grid.getSelectionModel().selectRow(0);
Grid.getRowEditor().startEditing(0);
}
var editarRegistro = function(lin) {
var Grid = #{GridPanel1};
var record = Grid.getSelectionModel().getSelected();
var rowIndex = Grid.getStore().indexOf(record);
if (rowIndex > -1) {
Grid.getView().refresh();
Grid.getSelectionModel().selectRow(rowIndex);
Grid.getRowEditor().startEditing(rowIndex);
}
}
var cancelarNovoRegistro = function() {
Grid = #{GridPanel1};
if (Grid.getSelectionModel().getSelected().data.crgId < 0)
{
Grid.deleteSelected();
}
}
</script>
</ext:XScript>
<title></title>
<link rel="stylesheet" type="text/css" href="../Content/Css/Stylesheet1.css" />
<ext:ResourceManager ID="ResourceManager" runat="server">
</ext:ResourceManager>
<ext:Store ID="Store1" runat="server" RefreshAfterSaving="Auto" WarningOnDirty="false"
OnRefreshData="RefreshData1">
<Reader>
<ext:JsonReader IDProperty="crgId">
<Fields>
<ext:RecordField Name="crgId" />
<ext:RecordField Name="crgDescricao" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
</head>
<body>
<ext:Menu ID="ContextMenu1" runat="server">
<Items>
<ext:MenuItem ID="mnuEdit" runat="server" Visible="true" Text="Editar" Icon="ApplicationEdit">
<Listeners>
<Click Handler="#{btnEditar}.fireEvent('click')" />
</Listeners>
</ext:MenuItem>
<ext:MenuItem ID="mnuExcluir" runat="server" Visible="true" Text="Excluir" Icon="Cross">
<Listeners>
<Click Handler="#{btnExcluir}.fireEvent('click')" />
</Listeners>
</ext:MenuItem>
</Items>
</ext:Menu>
<form id="Form1" runat="server">
<ext:Viewport runat="server" ID="Viewport1">
<Items>
<ext:FitLayout runat="server" ID="FitLayout1">
<Items>
<ext:GridPanel ID="GridPanel1" runat="server" StoreID="Store1" Border="false" TrackMouseOver="true"
Header="false" ContextMenuID="ContextMenu1">
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column ColumnID="crgDescricao" Header="Descrição" Width="500" DataIndex="crgDescricao">
<Editor>
<ext:TextField ID="TextField1" runat="server" AllowBlank="false"/>
</Editor>
</ext:Column>
</Columns>
</ColumnModel>
<TopBar>
<ext:Toolbar ID="Toolbar1" runat="server">
<Items>
<ext:Button ID="btnInserir" runat="server" Icon="Add">
<Listeners>
<Click Fn="novoRegistro" />
</Listeners>
<ToolTips>
<ext:ToolTip ID="ToolTip1" runat="server" Html="Novo">
</ext:ToolTip>
</ToolTips>
</ext:Button>
<ext:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</ext:ToolbarSeparator>
<ext:Button ID="btnEditar" runat="server" Icon="ApplicationEdit" Disable="true">
<Listeners>
<Click Fn="editarRegistro" />
</Listeners>
<ToolTips>
<ext:ToolTip ID="ToolTip2" runat="server" Html="Editar">
</ext:ToolTip>
</ToolTips>
</ext:Button>
<ext:Button ID="btnExcluir" runat="server" Icon="Cross" Disable="true">
<DirectEvents>
<Click OnEvent="Excluir">
<Confirmation ConfirmRequest="true" Title="Alerta" BeforeConfirm="config.confirmation.message = alertDelete()" />
<ExtraParams>
<ext:Parameter Name="id" Value="#{GridPanel1}.getSelectionModel().hasSelection() ? #{GridPanel1}.getSelectionModel().getSelected().id : -1"
Mode="Raw" />
</ExtraParams>
</Click>
</DirectEvents>
<ToolTips>
<ext:ToolTip ID="ToolTip3" runat="server" Html="Excluir">
</ext:ToolTip>
</ToolTips>
</ext:Button>
</Items>
</ext:Toolbar>
</TopBar>
<BottomBar>
<ext:PagingToolbar ID="PagingToolBar1" runat="server" PageSize="20" StoreID="Store1"
PrevText="Página Anterior" NextText="Próxima Página" BeforePageText="Página"
AfterPageText="de" LastText="Última Página" FirstText="Primeira Página" DisplayInfo="true"
EmptyMsg="Não há Registros" RefreshText="Recarregar" DisplayMsg="Registro {0} - {1} de {2}" />
</BottomBar>
<Plugins>
<ext:RowEditor ID="RowEditor1" runat="server" SaveText="Gravar" CancelText="Cancelar">
<DirectEvents>
<AfterEdit OnEvent="Salvar">
<ExtraParams>
<ext:Parameter Name="id" Value="r.data.crgId" Mode="Raw">
</ext:Parameter>
<ext:Parameter Name="descricao" Value="r.data.crgDescricao" Mode="Raw">
</ext:Parameter>
</ExtraParams>
</AfterEdit>
</DirectEvents>
<Listeners>
<CancelEdit fn="cancelarNovoRegistro" />
</Listeners>
</ext:RowEditor>
<ext:GridFilters runat="server" ID="GridFilters1" Local="true" FiltersText="Filtro">
<Filters>
<ext:StringFilter DataIndex="crgDescricao" />
</Filters>
</ext:GridFilters>
</Plugins>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server">
<Listeners>
<RowSelect Handler="#{btnEditar}.enable();#{btnExcluir}.enable(); " />
<RowDeselect Handler="if (!#{GridPanel1}.hasSelection()) {#{btnEditar}.disable();#{btnExcluir}.disable() }" />
</Listeners>
</ext:RowSelectionModel>
</SelectionModel>
</ext:GridPanel>
</Items>
</ext:FitLayout>
</Items>
</ext:Viewport>
</form>
</body>
</html>