none
Focus su Cella GridView dopo spostamento RRS feed

  • Domanda

  • Ciao a tutti ragazzi,

    dopo aver fatto una ricerca nel GridView il cursore mi si posiziona giustamente nella cella trovata e nella riga esatta, l'unico problema che ho è che vorrei che il focus andasse su un'altra cella della stessa riga trovata naturalmente.
    allego codice javascript che esegue la ricerca attuale fatto con voi in un thread precedente e che funziona benissimo:

        <% 
            ' scrpt che abilita sull'invio la ricerca ed il posizionamento su altra casella di testo con class="search"
        %>
        <script type="text/javascript">
             $(document).ready(function () {
                 $('.search').keypress(function (e) {
                     if (e.which == 13) {
                         e.preventDefault();
                         search($(this).val());
                     }
                 });
                });
    
             function search(nome)
                {
                 $("#" + nome).focus();
    
                 var nextIndex = $('input:text').index(nome) + 1;
             }
    
        </script>

    come potrei fare secondo voi?


    Emanuele

    giovedì 23 ottobre 2014 08:06

Risposte

  • Ti basta mettere:

    <asp:TemplateField  HeaderText="Nome">
     <ItemTemplate>
       <input type="text" id="Nome_<%# Eval("nome")%>" value="<%# Eval("nome")%>" >  
     </ItemTemplate>
    </asp:TemplateField> 
    
    <asp:TemplateField  HeaderText="Cerca1">
     <ItemTemplate>
       <input type="text" id="Cerca_<%# Eval("numero")%>" value="<%# Eval("numero")%>" class="search">  
      </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField  HeaderText="TerzaColonna">
     <ItemTemplate>
       <input type="text" id="<%# Eval("nome")%>" value="">  
      </ItemTemplate>
    </asp:TemplateField>
    Ciao


    Luca Congiu (congiuluc)
    Personal Blog: blog.dotnetcode.it

    Se hai trovato la soluzione all'interno del Forum, ricorda di segnalare il post come risposta, in alternativa puoi postare la soluzione da te adottata. Questo aiuterà altri utenti, che hanno riscontrato la stessa problematica, ad identificare rapidamente la soluzione/risposta corretta.

    • Contrassegnato come risposta EmanueleVbSql giovedì 23 ottobre 2014 08:54
    giovedì 23 ottobre 2014 08:47
    Moderatore

Tutte le risposte

  • Ti basta spostare l'input type text dell'itemtemplate nella colonna desiderata:

    <asp:TemplateField  HeaderText="CAMPOFOCUS">
     <ItemTemplate>
       <input type="text" id="<%# Eval("nome")%>" value="<%# Eval("CAMPOFOCUS")%>" >  
     </ItemTemplate>
    </asp:TemplateField>  

    Ciao


    Luca Congiu (congiuluc)
    Personal Blog: blog.dotnetcode.it

    Se hai trovato la soluzione all'interno del Forum, ricorda di segnalare il post come risposta, in alternativa puoi postare la soluzione da te adottata. Questo aiuterà altri utenti, che hanno riscontrato la stessa problematica, ad identificare rapidamente la soluzione/risposta corretta.

    giovedì 23 ottobre 2014 08:19
    Moderatore
  • Ciao Luca,

    ho aggiunto il campo "CAMPOFOCUS" ed ho aggiunto questo nella procedura in javascript "search" ma non mi funziona ancora:

    var nextIndex = $('input:text').index("#CAMPOFOCUS") + 1;


        <script type="text/javascript">
             $(document).ready(function () {
                 $('.search').keypress(function (e) {
                     if (e.which == 13) {
                         e.preventDefault();
                         search($(this).val());
                     }
                 });
                });
    
             function search(nome)
                {
                 $("#" + nome).focus();
    	var nextIndex = $('input:text').index("#CAMPOFOCUS") + 1;
             }
        </script>
    


    Emanuele

    giovedì 23 ottobre 2014 08:28
  • Campo focus era solo di esempio... devi togliere l'itemtemplate della colonna Nome e metterla nella colonna dove desideri avere il focus.

    Ciao


    Luca Congiu (congiuluc)
    Personal Blog: blog.dotnetcode.it

    Se hai trovato la soluzione all'interno del Forum, ricorda di segnalare il post come risposta, in alternativa puoi postare la soluzione da te adottata. Questo aiuterà altri utenti, che hanno riscontrato la stessa problematica, ad identificare rapidamente la soluzione/risposta corretta.

    giovedì 23 ottobre 2014 08:36
    Moderatore
  • mi sono espresso male scusami, allora io ho questi due campi "Nome" e "Cerca1", scrivo ciò che devo ricercare nel campo "Cerca1" e correttamente la funziona search me lo trova e si posiziona correttamente nella riga esatta nel campo "Nome", vorrei io invece, sempre nella stessa riga trovata tramite "Nome" andare su una terza colonna:

    <asp:TemplateField  HeaderText="Nome">
     <ItemTemplate>
       <input type="text" id="<%# Eval("nome")%>" value="<%# Eval("nome")%>" >  
     </ItemTemplate>
    </asp:TemplateField> 

    <asp:TemplateField  HeaderText="Cerca1">
     <ItemTemplate>
       <input type="text" id="Cerca_<%# Eval("numero")%>" value="<%# Eval("numero")%>" class="search">  
      </ItemTemplate>
    </asp:TemplateField>

    spero di essermi espresso bene


    Emanuele

    giovedì 23 ottobre 2014 08:44
  • Ti basta mettere:

    <asp:TemplateField  HeaderText="Nome">
     <ItemTemplate>
       <input type="text" id="Nome_<%# Eval("nome")%>" value="<%# Eval("nome")%>" >  
     </ItemTemplate>
    </asp:TemplateField> 
    
    <asp:TemplateField  HeaderText="Cerca1">
     <ItemTemplate>
       <input type="text" id="Cerca_<%# Eval("numero")%>" value="<%# Eval("numero")%>" class="search">  
      </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField  HeaderText="TerzaColonna">
     <ItemTemplate>
       <input type="text" id="<%# Eval("nome")%>" value="">  
      </ItemTemplate>
    </asp:TemplateField>
    Ciao


    Luca Congiu (congiuluc)
    Personal Blog: blog.dotnetcode.it

    Se hai trovato la soluzione all'interno del Forum, ricorda di segnalare il post come risposta, in alternativa puoi postare la soluzione da te adottata. Questo aiuterà altri utenti, che hanno riscontrato la stessa problematica, ad identificare rapidamente la soluzione/risposta corretta.

    • Contrassegnato come risposta EmanueleVbSql giovedì 23 ottobre 2014 08:54
    giovedì 23 ottobre 2014 08:47
    Moderatore
  • Grazie Luca e buon lavoro a tutti

    Emanuele

    giovedì 23 ottobre 2014 08:55