Поделиться через


Практическое руководство. Создание редактируемого элемента управления "Сетка"

Дата последнего изменения: 23 июня 2011 г.

Применимо к: SharePoint Foundation 2010

В этом практическом руководстве показано включение функции редактирования в базовом элементе управления управления JS Grid. Прежде чем приступить к выполнению инструкций настоящего руководства, ознакомьтесь с руководствами Практическое руководство. Создание базовой таблицы JS Grid и Инструкции по созданию сводной диаграммы с использованием JS Grid.

ПримечаниеПримечание

На компьютере могут отображаться другие имена или расположения для некоторых элементов пользовательского интерфейса Visual Studio, упоминающихся в приведенных ниже инструкциях. Эти элементы определяются установленным на компьютере выпуском Visual Studio и конкретными параметрами.

Необходимые компоненты

ПримечаниеПримечание

Несмотря на то что инструкции этого пошагового руководства можно выполнить без Visual Studio 2010, лучше использовать Visual Studio 2010 и разработки SharePoint в Microsoft Visual Studio 2010.

Создание редактируемого элемента управления "Сетка"

Создание редактируемого элемента управления "Сетка" состоит из следующих этапов:

  • Переключение поведения "Чтение/запись" в ECMAScript (JavaScript, JScript)

  • Включение поведения "Чтение/запись" для строк, полей или ячеек

  • Добавление проверки на наличие ошибок при вводе данных

  • Написание обратного вызова для обработки данных, вводимых пользователем

В этом практическом руководстве описывается процедура создания редактируемого элемента управления "Сетка", а также проверка вводимых пользователем значений, выполняемая управления JS Grid. Запись значений, вводимых пользователями, выходит за рамки настоящего руководства.

Включение редактирования с помощью bEditingEnabled

  1. Откройте решение JSGrid, созданное в предыдущем практическом руководстве.

  2. Откройте файл JSGridWebPartUserControl.ascx.

  3. В коде JavaScript непосредственно перед инициализацией jsGridControl добавьте jsGridParams.tableViewParams.bEditingEnabled = true;.

    Код должен выглядеть, как в следующем примере.

    <script type="text/javascript">
        Type.registerNamespace("GridManager");
        GridManager = function () {
            this.Init = function (jsGridControl, initialData, props) {
                var dataSource = new SP.JsGrid.StaticDataSource(initialData);
                var jsGridParams = dataSource.InitJsGridParams();
    
                jsGridParams.tableViewParams.bEditingEnabled = true;
    
                jsGridControl.Init(jsGridParams);
            }
        };
    </script>
    

    Обратите внимание, что bEditingEnabled — это переключатель, который может использоваться для включения или отключения функции редактирования в клиентском коде. По умолчанию для bEditingEnabled задано значение false.

Включение поведения "Чтение/запись" для строк, полей или ячеек.

Перечисление управления JS GridEditMode указывает, разрешено ли редактирование ячеек, содержащихся в записи или файле. Доступны следующие значения:

  • Defer   Всегда откладывать состояние "Чтение/запись". Элемент управления не управляет своим состоянием.

  • ReadOnly   Если это значение применяется к записи или полю, ни одна ячейка в записи или поле не является редактируемой. Если это значение применяется к строке, проверьте режим редактирования каждой строки.

  • ReadOnlyDefer   Ячейка доступна только для чтения, если параметрами строки, столбца или сетки не задано другое. Если это значение применяется к строке, проверьте режим правки для каждой ячейки.

  • ReadWrite   Ячейку можно редактировать, если параметрами строки, столбца или сетки не задано другое.

  • ReadWriteDefer   Ячейку можно редактировать, если параметрами строки, столбца или сетки не задано другое.

Чтобы сделать конкретные поля редактируемыми, выполните следующие действия

  1. В решении JSGrid откройте файл GridUtilities.cs.

  2. Найдите класс FormatGridField.

  3. В классе formatGridField присвойте свойству EditMode для всех полей значение ReadOnlyDefer. Это значение задает режим только для чтения по умолчанию, который может быть переопределен для конкретных полей, строк или ячеек.

    // When in doubt, set the edit mode to read-only and defer to others.
    gf.EditMode = EditMode.ReadOnlyDefer;
    
  4. Далее в коде класса FormatGridField задайте в качестве режима редактирования всех полей типа Int32 значение ReadWrite.

    else if (dc.DataType == typeof(Int32))
        {
            gf.EditMode = EditMode.ReadWrite;
    
  5. Запустите проект. Измените одно из числовых полей.

    Если в ячейку с числовыми данными введен нечисловой символ, вокруг ячейки появляется красная рамка, а в заголовке строки появляется красный значок. При щелчке ячейки отображается описание ошибки. Это поведение обеспечивается управления JS Grid.

См. также

Концепции

Возможности элемента управления JS Grid