Как настроить макет печати элемента списка SharePoint? - PullRequest
5 голосов
/ 06 октября 2008

мне нужно иметь возможность создавать «симпатичную» распечатку значений отдельных элементов списка с целями:

  • избавиться от всей навигации
  • организовать данные так, как они выглядят в типичной бумажной форме (требование клиента)

В настоящее время я избегаю использования InfoPath из-за других проблем (для которых я опубликую отдельные вопросы ...)

например , у меня есть отдельный элемент списка, который обычно отображается, как показано ниже DispForm.aspx пример :

SharePoint - DispForm.aspx

Мне нужна печатная версия (PrintForm.aspx ??), которая будет отображаться подобно следующему примеру :

SharePoint - PrintForm.aspx

Из того, что я могу сказать, я не могу сделать это, просто изменив / создав собственный CSS.

также кажется, что я не могу этого сделать, просто создав собственную "печатную" версию DispForm.aspx.

любые предложения, идеи, ссылки будут очень полезны.

Ответы [ 7 ]

3 голосов
/ 07 октября 2008

Создание пользовательской формы списка, вероятно, то, что вы хотите. Без главной страницы, прикрепленной к нему или что-нибудь.

Здесь вы найдете пошаговое руководство, с которого можно начать:

http://office.microsoft.com/en-us/sharepointdesigner/HA101191111033.aspx

Наслаждайтесь.

1 голос
/ 08 октября 2008

@ ссылка на mortenbpost была именно тем, что мне было нужно: Создать новую страницу, содержащую пользовательскую форму списка

В частности, вот что вам нужно сделать, чтобы получить «базовую» пользовательскую страницу для элемента списка, из которой вы можете полностью настроить ее с помощью XHTML / CSS:

первый

убедитесь, что в вашем списке есть все необходимые вам столбцы

второй

вот как создать пользовательскую страницу «просмотра» (практически те же шаги можно выполнить для пользовательской страницы «новой» или пользовательской «редактирования»):

  1. Открыть MS Office SharePoint Designer
  2. Файл -> Открыть сайт ...
  3. введите URL вашего сайта
  4. Убедитесь, что панель задач «Список папок» видна (Панели задач -> Список папок)
  5. Развернуть папку «Списки»
  6. Вы должны увидеть записи, подобные следующим:
  7. Расширить запись с помощью ИМЯ СПИСКА
  8. Вы должны увидеть записи, подобные следующим
  9. Щелкните правой кнопкой мыши ИМЯ СПИСКА
  10. Выбрать новый -> ASPX
  11. Переименуйте файл в что-то значимое, например: PrintForm.aspx
  12. Открыть PrintForm.aspx
  13. Просмотр в режиме "Split"
  14. На панели «Код» вы должны увидеть точку вставки в пустой HTML-форме.
  15. Вставка -> Элементы управления SharePoint -> Пользовательская форма списка ...
  16. Выберите ИМЯ СПИСКА из первого раскрывающегося списка (список или библиотека документов для использования в форме)
  17. Выберите «Элемент» во втором раскрывающемся меню (тип содержимого для использования в форме)
  18. Выберите «Показать форму элемента (используется для просмотра элементов списка)» (, здесь вы можете выбрать между просмотр , новый , редактирование )
  19. Снимите флажок «Показывать стандартную панель инструментов» при создании формы для печати
  20. Нажмите ОК
  21. На панели «Дизайн» вы должны увидеть базовый макет таблицы с метками слева и значениями справа
  22. На панели «Код» вы должны увидеть следующий код для каждого столбца в вашем списке (этот тип относится к типу столбца «Одна строка текста»):
    <tr>
        <td width="190px" valign="top" class="ms-formlabel">
            <H3 class="ms-standardheader">
                <nobr><em><strong>Column name</strong></em></nobr>
            </H3>
        </td>
        <td width="400px" valign="top" class="ms-formbody">
            <xsl:value-of select="&#064;<em><strong>Column_x0020_name</strong></em>"/>
        </td>
    </tr>
  23. Теперь вы можете просто взять все эти <xsl:value-of select="&#064;<em><strong>Column_x0020_name</strong></em>"/> записи и сделать стандартный макет XHTML / CSS
  24. Чтобы проверить, сохраните свою работу
  25. Затем в веб-браузере перейдите на веб-сайт SharePoint.
  26. Выберите элемент, для которого вы уже ввели данные
  27. Выберите «Посмотреть объект»
  28. В адресной строке замените DispForm.aspx на PrintForm.aspx

некоторые вещи, которые нужно иметь в виду:

  • пробелы и знаки пунктуации делают для назойливого именования Имя столбца
  • Имя столбца в коде будет иметь максимальную длину 32 - любые более длинные имена будут усечены, например:
  • любой Имя столбца в коде, который будет дубликатом, будет иметь длину 32 плюс числовой суффикс. Итак, учитывая, что вышеупомянутый столбец также существует, мы бы, например,
  • если вы добавляете столбцы или изменяете столбцы, вам придется добавлять их вручную на эту страницу (выполните Вставка -> Элементы управления SharePoint -> Форма настраиваемого списка ... на другой «фиктивной» странице, чтобы получить правильное наименование)

опять же, я не смог бы сделать это без ответа @ mortenbpost!

1 голос
/ 06 октября 2008

Используя Sharepoint Designer, вы можете создать собственную страницу aspx, которая использует веб-часть dataview для этого ...

1 голос
/ 06 октября 2008

Вы можете использовать CSS, чтобы скрыть всю навигацию и т. Д., В которой вы не нуждаетесь, используя таблицу стилей media="print", но вы не сможете внести точные изменения в макет, который вы иллюстрировали.

Если это не должно быть в точности как в примере, было бы довольно тривиально спрятать все, кроме таблицы name-> value, и просто напечатать это. Если вам действительно нужно объединить поля и изменить структуру таблицы, то вам, вероятно, придется взломать серверную часть.

Почему вы не можете создать свою собственную версию страницы?

0 голосов
/ 07 мая 2009

Это не столько ответ, сколько примечание к вышесказанному.

Используйте настраиваемую форму списка, но имейте в виду, что если в каком-либо из столбцов включено управление версиями, вы не сможете легко получить «данные». Например, если один из ваших столбцов является столбцом «Примечания», и каждый раз, когда кто-то редактирует поле «Примечания», добавляется новая версия, тогда ничего из этого не доступно, поскольку это по сути отдельный «список». Я застрял в этой проблеме, так как у меня также есть клиент, запрашивающий распечатку, которая "не похожа на то, что она из SharePoint".

0 голосов
/ 15 ноября 2008

***** Теперь вы можете просто взять все эти записи и сделать стандартный макет XHTML / CSS *****

Вы можете расширить это на примере того, как это сделать?

0 голосов
/ 07 октября 2008

Кроме того, вы можете экспортировать в электронную таблицу и распечатать оттуда.

...