none
vs2010 Клавиша "Enter" RRS feed

  • Вопрос

  • Здравствуйте!

    Как сделать так,  чтобы по клавише  "Enter" курсор в GridView (Web Firms) переходил не на кнопку вне GridView("defaultbutton"), а вправо на соседнее поле, как по "Tab"? (Так можно сделать в DataGridView (WinForms))

    11 октября 2013 г. 14:03

Ответы

  • Вот простой пример. Вам нужно только для своей разметки.

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm.aspx.cs" 
      Inherits="WebApplication.WebForm" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="Scripts/jquery-2.0.3.js" type="text/javascript"></script>
    </head>
    <body id="pageBody" runat="server">
        <form id="form1" runat="server">
        <div>
        <table>
          <tr>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
          </tr>
          <tr>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
          </tr>
          <tr>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
          </tr>
        </table>
        </div>
        </form>
      <script type="text/javascript">
        $('.cls').keypress(function (e) {
          console.log(this);
          if (e.which == 13) {
            $(this).closest('td').next().find('.cls').focus();
            e.preventDefault();
          }
        });
      </script>
    </body>
    </html>
    


    Сделаем содержимое сообщества лучше, вместе!

    • Предложено в качестве ответа YatajgaEditor 12 октября 2013 г. 8:20
    • Помечено в качестве ответа Taras KovalenkoBanned 14 октября 2013 г. 9:39
    11 октября 2013 г. 19:08
    Модератор

Все ответы

  • Тема может и избитая, но хотелось бы осмысленного ответа
    11 октября 2013 г. 17:54
  • Используйте JS или JQuery. Например метод focus().

    Сделаем содержимое сообщества лучше, вместе!

    11 октября 2013 г. 18:28
    Модератор
  • Дайте, пож. ссылку на работающий пример
    11 октября 2013 г. 18:41
  • Вот простой пример. Вам нужно только для своей разметки.

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm.aspx.cs" 
      Inherits="WebApplication.WebForm" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="Scripts/jquery-2.0.3.js" type="text/javascript"></script>
    </head>
    <body id="pageBody" runat="server">
        <form id="form1" runat="server">
        <div>
        <table>
          <tr>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
          </tr>
          <tr>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
          </tr>
          <tr>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
            <td><input class="cls" type="text" /></td>
          </tr>
        </table>
        </div>
        </form>
      <script type="text/javascript">
        $('.cls').keypress(function (e) {
          console.log(this);
          if (e.which == 13) {
            $(this).closest('td').next().find('.cls').focus();
            e.preventDefault();
          }
        });
      </script>
    </body>
    </html>
    


    Сделаем содержимое сообщества лучше, вместе!

    • Предложено в качестве ответа YatajgaEditor 12 октября 2013 г. 8:20
    • Помечено в качестве ответа Taras KovalenkoBanned 14 октября 2013 г. 9:39
    11 октября 2013 г. 19:08
    Модератор
  • Я так понимаю, что если выполняется условие на нажатие клавиши "Enter", то ищется ближайшая ячейка ("closest('td')) таблицы  и в следующую переводится фокус . Но у меня не таблица, а GridView. Что здесь надо искать?
    12 октября 2013 г. 20:26
  • GridView в конечном счёте генерируется в HTML таблицу, вам надо посмотреть на разметку в браузере и выбрать соответствующие jQuery селекторы.

    Сделаем содержимое сообщества лучше, вместе!

    14 октября 2013 г. 9:43
    Модератор