[CLOSED] TreePanel wiht TreeEditor

  1. #1

    [CLOSED] TreePanel wiht TreeEditor

    Hi,

    Has anyone had this problem?
    Click image for larger version. 

Name:	af.png 
Views:	116 
Size:	7.6 KB 
ID:	3518

    This is an update on the node.

    I'm basing this example.

    https://examples1.ext.net/#/TreePane...d/Remote_Mode/

    Any suggestion?
    Last edited by Daniil; Dec 05, 2011 at 5:38 PM. Reason: [CLOSED]
  2. #2
    Hi,

    I have never met such problem.

    Could you provide a sample to reproduce?
  3. #3
    Hi, Is complex provide an sample to reproduce.

    My code to insert:
     //Adicionar tipo unidade
            protected void RemoteAppend(object sender, RemoteAppendEventArgs e)
            {
                try
                {
                    int unidadePaiID = int.Parse(e.ParentNodeID);
                   
                    using (ServicoECMClient proxy = new ServicoECMClient())
                    {
                        unidade unidadePai = proxy.ObterUnidadePorID(unidadePaiID);
    
                        //Verifica se a unidade é final. Unidades finais não podem adicionar novas unidades. 
                        if (unidadePai.tipounidade.unidade_final)
                        {
                            Aplicacao.Mensagem(MessageBox.Icon.WARNING, "Atenção", "Não é possível adicionar unidades para uma unidade final!");
                            e.Accept = false;
                            return;
                        }                    
    
                        int numeroUnidades = unidadePai.unidade1.Count();
                        int maximoFilhos = unidadePai.unidade1.Select(u => u.tipounidade.maximo_filhos).FirstOrDefault();
    
                        // É possível criar novas unidades 
                        // se não excedeu o número máximo de unidades irmas.
                        if (numeroUnidades >= maximoFilhos)
                        {
                            Aplicacao.Mensagem(MessageBox.Icon.WARNING, "Atenção", string.Format("O máximo de unidade(s) permitida(s) são {0}!", maximoFilhos));
                            e.Accept = false;
                            return;
                        }
    
                        unidade novaUnidade = new unidade();
                        novaUnidade.nome = e.Text;
                        novaUnidade.data_criacao = DateTime.Now;
                        novaUnidade.id_unidade_pai = unidadePaiID;
                        novaUnidade.id_tipounidade = unidadePai.unidade1.Select(u => u.id_tipounidade).FirstOrDefault();
    
                        if (proxy.InserirUnidade(novaUnidade, this.Chave) > 0)
                        {
                            e.Text = string.Concat(unidadePai.tipounidade.nome, ":", e.Text);
                            e.Accept = true;
                        }
                        else
                        {
                            e.Accept = false;
                        }
                    }
                }
                catch (FaultException<DetalhesErro> ex)
                {
                    e.Accept = false;
                    Aplicacao.Mensagem(MessageBox.Icon.ERROR, "Erro", ex.Detail.mensagemCurta);
                }
                catch (Exception)
                {
                    e.Accept = false;
                    Aplicacao.Mensagem(MessageBox.Icon.ERROR, "Erro", "Erro ao salvar a unidade!");
                }
            }
    My html

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ArquivoFisico.aspx.cs" Inherits="Stoque.ECM.Web.Cliente.Forms.ArquivoFisico" %>
    
    <%@ 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">
            <title></title>  
    
            <script type="text/javascript">
    
                function showMenu(node, e) {
                    var menu = TreeContextMenu;
                    if (node.browserEvent) {
                        this.menuNode = this.getRootNode();
                        menu.nodeName = "";
                        this.getSelectionModel().clearSelections();
                        e = node;
                    }
                    else {
                        this.menuNode = node;
                        menu.nodeName = node.text;
                        node.select();
                    }
    
                    menu.showAt([e.getXY()[0], e.getXY()[1] + 18]);
                    e.stopEvent();
                }  
            </script>
           
        </head>
        <body>
            <form id="FormRepositorio" runat="server">
                <ext:ResourceManager ID="ResourceManagerArquivoFisico" runat="server" Theme="Gray" />
    
                <ext:Store ID="StoreRepositorioID" runat="server" AutoLoad="true" >        
                <Reader>                                                        
                    <ext:JsonReader IDProperty="id" >
                        <Fields>
                            <ext:RecordField Name="id"  />
                            <ext:RecordField Name="nome"  />                                                                                                 
                        </Fields>
                    </ext:JsonReader>            
                </Reader>                                  
                </ext:Store> 
    
             <%-- Menu de contexto do treeview--%>
             <ext:Menu ID="TreeContextMenu" runat="server" EnableScrolling="false">
                <Items>
                    <ext:MenuTextItem ID="NodeName" runat="server" Cls="bold-text" />
                    <ext:MenuSeparator />
    
                     <ext:MenuItem ID="MenuItemAdicionarMN" runat="server" Text="Adicionar Unidade" Icon="Add">
                        <Listeners>
                            <Click Handler="#{TreePanelUnidade}.appendChild(#{TreePanelUnidade}.menuNode, '');" />
                        </Listeners>                    
                    </ext:MenuItem>   
    
                    <ext:MenuItem ID="MenuItemRenomear" runat="server" Text="Renomear" Icon="Pencil">
                        <Listeners>
                            <Click Handler="renomear(#{TreePanelUnidade})" />
                        </Listeners>
                    </ext:MenuItem>
                    
                    <ext:MenuItem ID="MenuItemApagar" runat="server" Text="Apagar" Icon="Delete">                    
                        <Listeners>
                            <Click Handler="Ext.MessageBox.confirm('Confirmação', 'Deseja realmente excluir esta unidade?',
                                                function(btn){
                                                    if(btn=='yes')
                                                       #{TreePanelUnidade}.removeNode(#{TreePanelUnidade}.menuNode);;
                                                }); "/>                                                
                        </Listeners>
                    </ext:MenuItem>
                </Items>
                <Listeners>
                    <Show Handler="#{NodeName}.el.update(this.nodeName);" />
                </Listeners>
            </ext:Menu>            
             <ext:FormPanel ID="FormPanelTipoUnidade" runat="server" Title="Configuração de Unidade" Width="380" X="10" MinHeight="100"  Height="600"  Padding="5" Layout="Absolute" >
                <Items>
                    <ext:ComboBox ID="CbxRepositorio" 
                                    runat="server" 
                                    Width="350"     
                                    X="10" Y="25"    
                                    FieldLabel="Repositório"
                                    AllowBlank="false"
                                    MsgTarget="Side"
                                    LabelAlign="Top"                                
                                    DisplayField="nome"                                                          
                                    ValueField="id"
                                    LoadingText = "Carregando ..."
                                    TriggerAction="All" 
                                    SelectOnFocus="true"
                                    StoreID="StoreRepositorioID"
                                    EmptyText="... Selecione ... "> 
    
                                <DirectEvents>
                                    <Select OnEvent="CbxRepositorio_Clique">
                                        <EventMask Msg="Aguarde..." ShowMask="true" />
                                    </Select>
                                </DirectEvents>
                               
                                <Triggers>
                                    <ext:FieldTrigger Icon="Clear" Qtip="Remover seleção" />
                                </Triggers>
                                <Listeners>
                                    <TriggerClick Handler="this.clearValue(); #{TreePanelUnidade}.clearContent();" />
                                </Listeners> 
                    </ext:ComboBox>
                    <ext:TreePanel 
                        ID="TreePanelUnidade"
                        runat="server"                     
                        X="10" Y="80" 
                        Title="Unidades de arquivamento" 
                        Width="350" 
                        Height="400"
                        AutoScroll="true"                                                
                        ContainerScroll="true"
                        Mode="Remote"
                        RootVisible="true"
                        AllowLeafDrop="true"                           
                        OnRemoteRename="RemoteRename"
                        OnRemoteRemove="RemoteRemove"
                        OnRemoteAppend="RemoteAppend"                                       
                        >                                        
                        <TopBar>
                            <ext:Toolbar runat="server" >
                                <Items>
                                    <ext:ImageButton ID="ImageButtonExpandir" runat="server" ImageUrl="../Resources/icons/expandir.png">
                                        <QTipCfg Text="Expandir" />
                                        <DirectEvents>
                                            <Click OnEvent="ImageButtonExpandir_Clique">
                                                <EventMask Msg="Aguarde..." ShowMask="true" />
                                            </Click>
                                        </DirectEvents>
                                    </ext:ImageButton>
                                    <ext:ImageButton ID="ImageButtonRecolher" runat="server" ImageUrl="../Resources/icons/recolher.png">
                                        <QTipCfg Text="Recolher" />
                                        <DirectEvents>
                                            <Click OnEvent="ImageButtonRecolher_Clique">
                                                <EventMask Msg="Aguarde..." ShowMask="true" />
                                            </Click>
                                        </DirectEvents>
                                    </ext:ImageButton>
                                </Items>
                            </ext:Toolbar>
                        </TopBar>                                                      
                        <Editors>
                            <ext:TreeEditor ID="TreeEditor1" runat="server" CancelOnBlur="true">
                                <Field>
                                    <ext:TextField ID="TextFieldTipoUniade" runat="server"/>                                
                                </Field>
                            </ext:TreeEditor>  
                        </Editors>
                        <SelectionSubmitConfig Encode="true" />            
                        <Listeners>
                            <ContextMenu Fn="showMenu" StopEvent="true" />                       
                        </Listeners>         
                    </ext:TreePanel>               
                </Items>
                 <Buttons>
                       <ext:Button ID="BtnArquivar" runat="server" Text="Arquivar">
                            <Listeners>
                                <Click Handler="recuperarUnidadeID(#{TreePanelUnidade}, 1); " />
                            </Listeners>
                       </ext:Button>
                       <ext:Button ID="BtnPesquisar" runat="server" Text="Pesquisar" Icon="Find">
                            <Listeners>
                                <Click Handler="recuperarUnidadeID(#{TreePanelUnidade}, 2); " />                         
                            </Listeners>                        
                       </ext:Button>
                        <ext:Button ID="BtnCancel" runat="server" Icon="Cancel" Text="Limpar">
                            <Listeners>
                                <Click Handler=" #{FormPanelTipoUnidade}.getForm().reset(); #{TreePanelUnidade}.clearContent();" />
                            </Listeners>
                        </ext:Button>
                 </Buttons> 
            </ext:FormPanel> 
        </form> 
    </body>
    </html>
    See if you need more details.

    It complex provide a working code.

    Thanks!!!
  4. #4
    I need to reproduce the problem and, unfortunately, I can't do it with a sample you posted since there are compiler errors on my side.

    Like this one:
    Compiler Error Message: 
    CS0246: The type or namespace name  'ServicoECMClient' could not be found (are you missing a using directive or an  assembly reference?)
    Please try this technique to prepare a sample:
    How to reduce a sample

Similar Threads

  1. TreeEditor get new value of textfield on server-side
    By Wellington Caetano in forum 1.x Help
    Replies: 1
    Last Post: Jun 21, 2011, 8:19 PM
  2. [CLOSED] [1.0] TreeEditor
    By Timothy in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Jan 05, 2011, 9:13 AM
  3. [CLOSED] [1.0] TreeEditor width
    By danielg in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Dec 07, 2009, 12:11 PM
  4. [CLOSED] [1.0] TreeEditor disable single-click to edit
    By danielg in forum 1.x Legacy Premium Help
    Replies: 4
    Last Post: Nov 09, 2009, 11:17 AM
  5. [CLOSED] TreeEditor
    By davidhoyt in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Jan 16, 2009, 6:29 AM

Tags for this Thread

Posting Permissions