У меня есть список SharePoint, в котором есть МНОГИЕ столбцы. По умолчанию рендеринг AddForm и EditForm очень неудобен для пользователей. Большинство из этих полей содержат простые числовые (целые) значения. Рендеринг по умолчанию для этих двух форм (я полагаю, используя ListFieldIterator) визуализирует столбцы один за другим вертикально вниз по странице. Я думал о том, чтобы спроектировать форму ввода с тремя основными «зонами» (слева / посередине / справа) и использовать настраиваемое поле для всех этих полей «Количество». Настраиваемое поле будет содержать два свойства настраиваемой переменной «Зона» и «Порядок». (Зона может содержать середину / право, и порядок будет «порядком» в той зоне, в которой появится поле; «левая» зона будет для полей, которые не являются этими полями «Число», например «Дата», «Клиент» и т. Д.). и т. д.) Я бы разработал страницу с таблицей HTML и 6 столбцами (1 для «метки» и один для «TextBox» для каждой из трех «зон»). Тогда я мог бы поставить элемент управления (что-то похожее на «ListFieldIterator»). Элемент управления в первой зоне будет отображать «статические» поля, зоны в двух других зонах будут отображать соответствующие настраиваемые поля (на основе свойств настраиваемой переменной «Зона» и «Порядок»).
Имеет ли это смысл? Что касается жизни, я не могу понять, как это сделать. Я думал о том, чтобы «сдаться» и просто использовать свой набор навыков ASP .Net и создавать FormViews и GridViews, привязанные к соответствующим (ListView) источникам данных. Это даже оказалось непростым делом.
У кого-нибудь есть идеи, как мне это сделать? (InfoPath не вариант, и я хочу придерживаться идеи «настраиваемого поля», чтобы поля не были статически разложены и могли перемещаться или даже добавляться новыми «администратором» приложения (список SharePoint) .
Любое руководство очень ценится. Я работал над этим всю неделю и, похоже, застрял.
Спасибо,
Шэйн
------ Лучшее объяснение моего "заявления" и того, что я хочу сделать -----
У меня есть список SharePoint, в котором около 60 полей. Если бы я вытолкнул это приложение, используя стандартные списки форм SharePoint (и шаблоны рендеринга) по умолчанию, пользователи его бы ненавидели. В формах по умолчанию используется шаблон рендеринга, который в основном размещает все поля списка, по одному на строку (HTML) Внутри этой строки есть два (HTML) столбца. Первый содержит «Метку» для поля, а второй (HTML) столбец является фактическим редактором для «FormField» (текстовое поле или что-то еще). Из-за количества полей в списке пользователю придется прокручивать несколько страниц, чтобы добраться до сути.
Этот список содержит около 10 «статических полей», которые я хочу выложить в левой части страницы, а затем около 50, которые являются просто «полями задач». Они хранят целое число и отслеживают «сколько из этих задач я выполнил сегодня». (Это «порт» приложения MS Access.) В зависимости от страницы «Добавить», которую выбирает пользователь (у меня есть «родительский» тип контента, который содержит каждое поле, а затем «дочерний» тип контента для каждой «группы»). пользователей, которые будут использовать эту форму, которая содержит только поля / задачи, которые группируют дорожки), соответствующие поля отображаются на странице. Проблема в том, что все они отображаются вертикально, и слишком много прокрутки. Эти пользователи (и администраторы) НЕ будут иметь доступа к SharePoint Designer или InfoPath. Таким образом, «макет» для этих полей должен быть в стиле итератора / повторителя (пользователям не нужно вовлекать в разработку только для того, чтобы добавить новое поле «задачи» в свое приложение!).
Решение, которое я нашел, состоит в том, чтобы использовать пользовательский тип поля с двумя переменными пользовательских свойств для каждого из этих полей «задачи».Переменные пользовательских свойств (зона и порядок) позволят администраторам «приложения» контролировать, где они хотят, чтобы эти поля отображались в формах «Добавить» и «Изменить».Свойство Zone может содержать одно из двух значений: «Столбец 1-й задачи» (середина формы) или «Столбец 2-й задачи» (правая часть формы).(«Левый» столбец форм будет использоваться для тех 10 или около того «статических» полей, которые разделяют все группы / хранилища / типы контента.) Орден будет просто содержать порядок сортировки полей внутри их «зоны».,Очевидно, что «зона» будет указывать, где на форме появится поле (в центре или справа).Я подумал, что смогу использовать три элемента Div и отобразить соответствующие столбцы списка в соответствующих DIVS.Или, следуя шаблону рендеринга по умолчанию, вместо DIV я мог бы использовать 6 (HTML) столбцов вместо 2.
Я быстро понял, как создать новый тип поля с пользовательскими свойствами (я использовал схему свойствэлемент в определении XML, хотя Microsoft говорит НЕ использовать его в SharePoint 2010, это было так просто, и я не мог придумать, как добавить их иначе. Теперь я знаю, как добавить их «правильным» способом, япросто не знаю, стоит ли их менять.)
В последние несколько дней я пытался выяснить, как на самом деле визуализировать эти «зоны».Помните, я хочу, чтобы пользователи этого приложения могли динамически добавлять новые поля, поэтому я не могу помещать в эти формы ссылки на статические поля.Я читал о шаблонах рендеринга и ListFieldIterator (и новом итераторе контента), но я не могу собрать все это вместе и создать реальное решение. Часть, которая меня отбрасывает, - это то, как запрашивать и отображать три разных «набора» полей одновременно (поскольку рендеринг будет происходить сверху вниз).
Любая помощь очень ценится!
Шейн