Практическое руководство. Создание редактируемого элемента управления "Сетка"
Дата последнего изменения: 23 июня 2011 г.
Применимо к: SharePoint Foundation 2010
В этом практическом руководстве показано включение функции редактирования в базовом элементе управления управления JS Grid. Прежде чем приступить к выполнению инструкций настоящего руководства, ознакомьтесь с руководствами Практическое руководство. Создание базовой таблицы JS Grid и Инструкции по созданию сводной диаграммы с использованием JS Grid.
![]() |
---|
На компьютере могут отображаться другие имена или расположения для некоторых элементов пользовательского интерфейса Visual Studio, упоминающихся в приведенных ниже инструкциях. Эти элементы определяются установленным на компьютере выпуском Visual Studio и конкретными параметрами. |
Необходимые компоненты
Microsoft SharePoint Foundation 2010
Microsoft Visual Studio 2010
разработки SharePoint в Microsoft Visual Studio 2010
Выполнение инструкций руководства Практическое руководство. Создание базовой таблицы JS Grid
![]() |
---|
Несмотря на то что инструкции этого пошагового руководства можно выполнить без Visual Studio 2010, лучше использовать Visual Studio 2010 и разработки SharePoint в Microsoft Visual Studio 2010. |
Создание редактируемого элемента управления "Сетка"
Создание редактируемого элемента управления "Сетка" состоит из следующих этапов:
Переключение поведения "Чтение/запись" в ECMAScript (JavaScript, JScript)
Включение поведения "Чтение/запись" для строк, полей или ячеек
Добавление проверки на наличие ошибок при вводе данных
Написание обратного вызова для обработки данных, вводимых пользователем
В этом практическом руководстве описывается процедура создания редактируемого элемента управления "Сетка", а также проверка вводимых пользователем значений, выполняемая управления JS Grid. Запись значений, вводимых пользователями, выходит за рамки настоящего руководства.
Включение редактирования с помощью bEditingEnabled
Откройте решение JSGrid, созданное в предыдущем практическом руководстве.
Откройте файл JSGridWebPartUserControl.ascx.
В коде 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 Ячейку можно редактировать, если параметрами строки, столбца или сетки не задано другое.
Чтобы сделать конкретные поля редактируемыми, выполните следующие действия
В решении JSGrid откройте файл GridUtilities.cs.
Найдите класс FormatGridField.
В классе formatGridField присвойте свойству EditMode для всех полей значение ReadOnlyDefer. Это значение задает режим только для чтения по умолчанию, который может быть переопределен для конкретных полей, строк или ячеек.
// When in doubt, set the edit mode to read-only and defer to others. gf.EditMode = EditMode.ReadOnlyDefer;
Далее в коде класса FormatGridField задайте в качестве режима редактирования всех полей типа Int32 значение ReadWrite.
else if (dc.DataType == typeof(Int32)) { gf.EditMode = EditMode.ReadWrite;
Запустите проект. Измените одно из числовых полей.
Если в ячейку с числовыми данными введен нечисловой символ, вокруг ячейки появляется красная рамка, а в заголовке строки появляется красный значок. При щелчке ячейки отображается описание ошибки. Это поведение обеспечивается управления JS Grid.