none
SharePoint Designer 2013 - Как скрыть поле списка на форме NewForm.aspx? RRS feed

  • Вопрос

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

    Есть SharePoint Server 2013. Хочу на форме создания элемента списка удалить поле. Раньше в SharePoint Designer 2007 это было достаточно просто. Сейчас даже не представляю как это сделать. :(

    Или всё-таки придется использовать InfoPath с настроенной службой InfoPath form services ?

    Заранее благодарю.

    17 апреля 2014 г. 8:46

Ответы

  • 17 апреля 2014 г. 8:52
    Модератор
  • Просто ради интереса сделал следующее:

    1) В SPD открыл узел

    2) Слева открыл ветку "Списки и библиотеки" \ выбрал нужный список

    3) Сделал новую форму MyNewForm.aspx

    4) Открыл её Код в SPD.

    5) Поиском по названию нашел поле, которое мне надо скрыть (поле "Статус")

    вот его код:

    						<!--
    						<td width="190px" valign="top" class="ms-formlabel">
    							<H3 class="ms-standardheader">
    								<nobr>Статус</nobr>
    							</H3>
    						</td>
    						<td width="400px" valign="top" class="ms-formbody">
    							<SharePoint:FormField runat="server" id="ff2{$Pos}" ControlMode="New" FieldName="_x0421__x0442__x0430__x0442__x04" __designer:bind="{ddwrt:DataBind('i',concat('ff2',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@_x0421__x0442__x0430__x0442__x04')}"/>
    							<SharePoint:FieldDescription runat="server" id="ff2description{$Pos}" FieldName="_x0421__x0442__x0430__x0442__x04" ControlMode="New"/>
    						</td>
    						!-->
    

    и закоментировал этот кусок кода.

    Затем, форму создания элемента "MyNewForm.aspx" Сделал по умолчанию.

    Сохранил изменения. Проверил. Работает.

    Есть ли тут подводные камни? Что я сделал не так?



    17 апреля 2014 г. 10:20

Все ответы

  • 17 апреля 2014 г. 8:52
    Модератор
  • Использовать JScript для скрытия поля на форме списка? Я  всё верно понял?
    17 апреля 2014 г. 9:11
  • на мой взгляд вполне не плохой способ.

    тем более что  InfoPath не умеет работать с кастомными полями

    17 апреля 2014 г. 9:44
    Модератор
  • Ужас какой :)

    Со стороны больше похоже на какой то хак :)

    17 апреля 2014 г. 9:55
  • т.е. SPD 2013 вообще никак не справиться с этой задачей? Тогда не совсем понимаю, зачем он нужен как дизайнер? Но это уже наверно не к Вам :)
    17 апреля 2014 г. 9:58
  • Просто ради интереса сделал следующее:

    1) В SPD открыл узел

    2) Слева открыл ветку "Списки и библиотеки" \ выбрал нужный список

    3) Сделал новую форму MyNewForm.aspx

    4) Открыл её Код в SPD.

    5) Поиском по названию нашел поле, которое мне надо скрыть (поле "Статус")

    вот его код:

    						<!--
    						<td width="190px" valign="top" class="ms-formlabel">
    							<H3 class="ms-standardheader">
    								<nobr>Статус</nobr>
    							</H3>
    						</td>
    						<td width="400px" valign="top" class="ms-formbody">
    							<SharePoint:FormField runat="server" id="ff2{$Pos}" ControlMode="New" FieldName="_x0421__x0442__x0430__x0442__x04" __designer:bind="{ddwrt:DataBind('i',concat('ff2',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@_x0421__x0442__x0430__x0442__x04')}"/>
    							<SharePoint:FieldDescription runat="server" id="ff2description{$Pos}" FieldName="_x0421__x0442__x0430__x0442__x04" ControlMode="New"/>
    						</td>
    						!-->
    

    и закоментировал этот кусок кода.

    Затем, форму создания элемента "MyNewForm.aspx" Сделал по умолчанию.

    Сохранил изменения. Проверил. Работает.

    Есть ли тут подводные камни? Что я сделал не так?



    17 апреля 2014 г. 10:20
  • я могу сказать что подобным образом производил изменения в SP2010. с SP2013 я не работал.

    по моему опыту из минусов решения создания своей страницы:

    1. не происходит обновление полей в форме элемента(добавление нового поля, сортировка и т.п.)

    2. не работает проверка полей на уровне списка, точнее не показывается предупреждение о не верных данных в поле.

    17 апреля 2014 г. 10:40
    Модератор
  • По п.1 - согласен. Придется добавлять поля или пересоздавать форму

    По п.2 - а какая проверка? Мне надо то всего скрыть поле от ушлого пользователя, а редактирует форму уже другой человек (не совсем понял, какую проверку Вы имели ввиду)

    17 апреля 2014 г. 10:49
  • По п.2 - а какая проверка? Мне надо то всего скрыть поле от ушлого пользователя, а редактирует форму уже другой человек (не совсем понял, какую проверку Вы имели ввиду)

    В параметрах списка





    17 апреля 2014 г. 10:54
    Модератор
  • Ааа... понятно.

    Да, это тоже не будет работать. Но у меня достаточно примитивная задача, и никаких проверок по полю пока не требуется.

    Спасибо Вам! 

    17 апреля 2014 г. 11:01
  • Можно было еще так:

    <tr style="display:none">
    содержимое
    </tr>
    

    18 апреля 2014 г. 15:09