Отображения содержимого запросов веб-части результаты в сетке / Таблица

Обзор и цели

Из коробки, МОСС’ Веб-часть запроса содержимого (CQWP) Отображает результаты в виде списка, аналогичные результаты поиска. Это также возможно для отображения результатов в виде сетки (т.е.. Формате HTML-таблицы). Сетку форматы лучше в некоторых обстоятельствах. Я опишу, как добиться этого эффекта в этой статье.

Бизнес-сценарий

Я работал с клиентом на свитке общеорганизационного Мосс. Мы разработали их таксономии, что проекты являются гражданами первого класса в иерархии и имеют их собственный сайт верхнего уровня. Руководители проектов вести список одноэлементного проекта сводной информации, Например, заголовок, бюджет, Ожидаемый срок завершения, Остаток бюджета и другие резюме типа поля. От «Синглтон" Я имею в виду гарантированно содержит только один элемент списка SharePoint. Упрощенно, Он выглядит следующим образом:

изображение

Технический подход является так же, как описано Здесь (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP для вывода HTML для браузера для отображения использует преобразование XSL.

Я всегда себе результат прежде чем погрузиться в XSL, потому что XSL это кошмар. Вот мой желаемый результат:

изображение

HTML как это создает результат:

<HTML>
 <тело>
 <центр>
 <Таблица граница= 1>

<!-- Этикетки-->
 <TR bgcolor= синий>
 <ТД><шрифт Цвет= белый><b>Название проекта</b></шрифт></ТД>
 <ТД Выравнивание= правый><шрифт Цвет= белый><b>Полная дата</b></шрифт></ТД>
 <ТД Выравнивание= правый><шрифт Цвет= белый><b>Бюджет</b></шрифт></ТД>
 <ТД Выравнивание= правый><шрифт Цвет= белый><b>Фактические расходы</b></шрифт></ТД>
 <ТД><шрифт Цвет= белый><b>Общее состояние</b></шрифт></ТД>
 </TR>

<TR>
 <ТД>Re-Wire компьютерный зал.</ТД>
 <ТД Выравнивание= правый>02/01/08</ТД>
 <ТД Выравнивание= правый>22,500.00</ТД>
 <ТД Выравнивание= правый>19,000.00</ТД>
 <ТД>В процессе</ТД>
 </TR>

<TR>
 <ТД>Предоставление серверы для обновления SQL</ТД>
 <ТД Выравнивание= правый>04/01/08</ТД>
 <ТД Выравнивание= правый>7,500.00</ТД>
 <ТД Выравнивание= правый>0.00</ТД>
 <ТД>Запланированные</ТД>
 </TR>

</Таблица>
 </центр>
 </тело>
</HTML>

Подход

Выполните следующие действия для создания сетки:

  1. Идентификация компонентов сетки (строк/столбцов).
  2. Определить и создать столбцы необходимые сайта.
  3. Создайте sub сайты для проектов и списки Синглтон.
  4. Добавить CQWP на веб-страницу и настроить его для поиска для ваших списков.
  5. Измените XML CQWP, чтобы собрать дополнительные столбцы.
  6. Изменить значение XSL для создания таблицы.

Я собираюсь сосредоточиться на номер 6. Номера один через четыре являются прямо вперед и то, что любой пользователь CQWP уже сделали. Номер пять был документально другими включая этот исчерпывающий экран shot груженого статьи из MSDN Здесь (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) и Heather Solomon's блог Здесь (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Гайки и болты

Начать и осуществлять шаги 1-5 согласно документации MSDN и Хизер Соломон статьи.

В этой точке, Вы добавили свой CQWP на страницу и у вас есть ваш <CommonViewFields> настроены при необходимости.

После обычных шагов, Я получаю эти промежуточные результаты:

1. Создание типа контента, templatized настраиваемого списка для данного типа содержимого и два места. Вот типа контента:

изображение

Вот структура сайта:

изображение

2. Добавить CQWP после создания моего проекта дочерние узлы и Синглтон кратких списков проекта:

изображение

3. Добавить всю дополнительную информацию, я хочу через <CommonViewFields>:

        <Свойства имя="CommonViewFields" Тип="Строка">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</Свойства>

Обратите внимание, что я должен был держать все свойства поля на одной линии, или он не будет работать (CQWP скажет мне, что запрос вернул нет элементов).

4. В этой точке, Мы готовы выйти за рамки статьи MSDN и флип над Heather Solomon's статьи. Следуйте ее шаги, начиная вблизи шаг #5 для создания настраиваемого / отсоединенных от шаблона версии ItemStyle.xsl. Я следовать советам Heather, через шаг 11 и получить эти промежуточные результаты:

4.1: Имя XSL-шаблон следующим:

<XSL:имя шаблона = «сетка" матч = "строка[@Style = 'Grid']" режим = «itemstyle»>

Я также немного изменить ее предложил <XSL:для каждого …> путем добавления <br /> тег для обеспечения чистого листинг:

    <XSL:для каждого Выберите="@*">
      P:<XSL:Стоимость от Выберите="имя()" /><br/>
    </XSL:для каждого>

4.2: Изменить веб-часть, Перейдите на внешний вид и выберите Мои «сетка" стиль:

изображение

Применить изменения, и вот результат:

изображение

Мы можем увидеть сверху поля мы хотим (Название проекта, расходы, статус, и т.д.) доступны для нас, чтобы использовать, когда мы выбрасывают HTML. Не только это, но мы видим имена, которыми мы должны ссылаться на эти столбцы в XSL. Например, Мы ссылка статус проекта как «Project_x005F_x0020_Name».

В этой точке, мы отойти от Хизер блог и плечи этих гигантов, Я добавить мои собственные немного.

ContentQueryMain.xsl

ПРИМЕЧАНИЕ: При внесении изменений в ContentQueryMain.xsl, а также ItemStyle.xsl, Вам необходимо проверить эти файлы обратно в, прежде чем вы увидите эффект изменения.

Для целей сетки решений, Мосс использует два разных XSL-файлов для получения результатов, которые мы видим от CQWP. Для создания предыдущего бит вывода, Мы изменили ItemStyle.xsl. Мосс фактически использует другой файл XSL, ContentQueryMain.xsl для в сочетании с ItemStyle.xsl генерировать его HTML. Как предполагает его название, ContentQueryMain.xsl является основным"" XSL, который управляет общий поток перевода. Он выполняет итерацию всех найденных элементов и передает их по одному на шаблоны в ItemStyle.xsl. Мы изменим ItemStyle.xsl для генерации открытого <Таблица> тег перед излучающих в первой строке данных и закрытия <Таблица> тег после выпуска последней строки. Для этого, ContentQueryMain.xsl изменен и должен пройти два параметра для нашей «сетка" шаблон в ItemStyle.xsl, «Последняя строка" и «текущей строки». ItemStyle.xsl использует эти условно выделяют необходимые теги.

Используя технику Хизер Соломона, Мы найти ContentQueryMain.xsl. Он расположен в том же месте ItemStyle.xsl. Это снимок экрана должен помочь:

изображение

Нам нужно внести следующие изменения.:

  • Изменить xsl-шаблон, «CallItemTemplate" что на самом деле вызывает наш шаблон сетки в ItemStyle.xsl. Мы передадим два параметра в шаблон сетки, так что она будет иметь данные, необходимые для генерации условно открытия и закрытия <Таблица> Теги.
  • Изменить другой бит ContentQueryMain.xsl, который вызывает «CallItemTemplate" чтобы пройти его «LastRow" параметр так что LastRow может быть передан наш шаблон сетки.

Найдите шаблон с именем «OuterTemplate.CallItemTemplate" определены в строке:

  <XSL:шаблон имя="OuterTemplate.CallItemTemplate">

Заменить весь шаблон следующим:

  <XSL:шаблон имя="OuterTemplate.CallItemTemplate">
    <XSL:Param имя="CurPosition" />

    <!--
      Добавить LastRow»" параметр.
      Мы только использовать его, когда элемент стиля переходят в «Сетка».
    -->
    <XSL:Param имя="LastRow" />

    <XSL:выбрать>
      <XSL:когда тест="@Style = 'NewsRollUpItem'">
        <XSL:применить шаблоны Выберите="." режим="ItemStyle">
          <XSL:с param имя="EditMode" Выберите="$cbq_iseditmode" />
        </XSL:применить шаблоны>
      </XSL:когда>
      <XSL:когда тест="@Style = 'NewsBigItem'">
        <XSL:применить шаблоны Выберите="." режим="ItemStyle">
          <XSL:с param имя="CurPos" Выберите="$CurPosition" />
        </XSL:применить шаблоны>
      </XSL:когда>
      <XSL:когда тест="@Style = 'NewsCategoryItem'">
        <XSL:применить шаблоны Выберите="." режим="ItemStyle">
          <XSL:с param имя="CurPos" Выберите="$CurPosition" />
        </XSL:применить шаблоны>
      </XSL:когда>

      <!--
              Передать шаблон itemstyle.xsl сетки текущей позиции и lastrow.
              ItemStyle.xsl будет использовать это, чтобы излучать открытой и закрытия <Таблица> Теги.
      -->
      <XSL:когда тест="@Style = 'Grid'">
        <XSL:применить шаблоны Выберите="." режим="ItemStyle">
          <XSL:с param имя="CurPos" Выберите="$CurPosition" />
          <XSL:с param имя="Последний" Выберите="$LastRow" />
        </XSL:применить шаблоны>
      </XSL:когда>

      <XSL:в противном случае>
        <XSL:применить шаблоны Выберите="." режим="ItemStyle">
        </XSL:применить шаблоны>
      </XSL:в противном случае>
    </XSL:выбрать>
  </XSL:шаблон>

Комментарии описывают цель изменения.

Конечно, «OuterTemplate.CallItemTemplate" сам вызывается из другого шаблона. Найти этот шаблон для этой строки текста:

<XSL:шаблон имя="OuterTemplate.Body">

Просмотрите инструкции в OuterTemplate.Body и вставки параметра LastRow следующим (показано как комментарий курсивом):

<XSL:вызов шаблон имя="OuterTemplate.CallItemTemplate">
  <XSL:с param имя="CurPosition" Выберите="$CurPosition" />
  <!-- Вставки параметра LastRow. -->
  <XSL:с param имя="LastRow" Выберите="$LastRow"/>
</XSL:вызов шаблон>

После все это, Мы наконец создали вещей должным образом так, что наши ItemStyle.xsl может излучать <Таблица> Теги в нужном месте.

ItemStyle.Xsl

ПРИМЕЧАНИЕ: Снова, Регистрация ItemStyle.xsl после внесения любых изменений, так что вы увидите эффект этих изменений.

У нас есть две задачи здесь:

  • Заменить весь шаблон сетки. Вы можете копировать/вставить снизу.
  • Добавьте некоторые mumbo jumbo вне определения шаблона, который позволяет «formatcurrency" шаблон для работы. (Вы можете сказать, что у меня разреженной ручку на XSL).

Первый, в верхней части ItemStyle.xsl, Добавьте эту строку:

  <!-- Некоторые фетиш, что позволяет нам для отображения США. Валюта. -->
  <XSL:десятичный формат имя="персонал" цифра="D" />

  <XSL:шаблон имя="По умолчанию" матч="*" режим="ItemStyle">

Обратите внимание, что я добавил его непосредственно перед <XSL:имя шаблона = «значения по умолчанию" …> определение.

Следующая, вернуться к нашей сетки шаблон. Замените на код ниже весь шаблон сетки. Он тщательно прокомментировал, но не стесняйтесь, напишите мне или оставить комментарии на моем блоге, если у вас есть вопросы.

  <XSL:шаблон имя="Сетка" матч="Строка[@Style = 'Grid']" режим="ItemStyle">

    <!--
      ContentMain.xsl проходит CurPos и последний.
      Мы используем эти условно выпустить под открытым небом и закрытия <Таблица> Теги.
    -->
    <XSL:Param имя="CurPos" />
    <XSL:Param имя="Последний" />

    <!-- Следующие переменные неизмененной от стандартной ItemStyle.xsl -->
    <XSL:переменная имя="SafeImageUrl">
      <XSL:вызов шаблон имя="OuterTemplate.GetSafeStaticUrl">
        <XSL:с param имя="UrlColumnName" Выберите="«ImageUrl»"/>
      </XSL:вызов шаблон>
    </XSL:переменная>
    <XSL:переменная имя="SafeLinkUrl">
      <XSL:вызов шаблон имя="OuterTemplate.GetSafeLink">
        <XSL:с param имя="UrlColumnName" Выберите="«LinkUrl»"/>
      </XSL:вызов шаблон>
    </XSL:переменная>
    <XSL:переменная имя="DisplayTitle">
      <XSL:вызов шаблон имя="OuterTemplate.GetTitle">
        <XSL:с param имя="Название" Выберите="@Title"/>
        <XSL:с param имя="UrlColumnName" Выберите="«LinkUrl»"/>
      </XSL:вызов шаблон>
    </XSL:переменная>
    <XSL:переменная имя="LinkTarget">
      <XSL:Если тест="@OpenInNewWindow = «True»" >_blank</XSL:Если>
    </XSL:переменная>

    <!--
      Здесь мы определяем переменную, «tableStart».  Это содержит HTML-код, который мы используем для определения открытия таблицы, а также заголовки столбцов.  Обратите внимание, что если CurPos = 1, Она включает в себя HTML-код в теге CDATA.
      В противном случае, Он будет пустым.

      TableStart значение emited при каждом вызове ItemStyle через ContentQueryMain.xsl.
    -->
    <XSL:переменная имя="tableStart">
      <XSL:Если тест="$CurPos = 1">
        <![CDATA[
        <границы таблицы = 1>
          <TR bgcolor = «blue»>
            <ТД><цвет шрифта = «белый»><b>Название проекта</b></шрифт></ТД>
            <выровнять TD = «право»><цвет шрифта = «белый»><b>Полная дата</b></шрифт></ТД>
            <выровнять TD = «право»><цвет шрифта = «белый»><b>Бюджет</b></шрифт></ТД>
            <выровнять TD = «право»><цвет шрифта = «белый»><b>Фактические расходы</b></шрифт></ТД>
            <ТД><цвет шрифта = «белый»><b>Общее состояние</b></шрифт></ТД>
          </TR>
        ]]>
      </XSL:Если>
    </XSL:переменная>

    <!--
      Другая переменная, tableEnd просто определяет закрытия таблицы тегов.

      Как с tableStart, Это всегда emited.  Вот почему его значение будет назначено условно основе ли мы принят последний ряд ContentQueryMain.xsl.
    -->
    <XSL:переменная имя="tableEnd">
      <XSL:Если тест="$CurPos = $Last">
        <![CDATA[ </Таблица> ]]>
      </XSL:Если>
    </XSL:переменная>

    <!--
      Всегда выдавать содержимое tableStart.  Если это не первая строка передается нам по ContentQueryMain.xsl, Тогда мы знаем, что его значение будет пустым.

      Отключение вывода побега, потому что когда tableStart он не пустой, Она включает в себя фактические HTML, который мы хотим быть к просмотру в браузере.  Если мы не рассказать анализатору XSL, чтобы отключить выход побега, Он будет генерировать такие вещи, как»&lt;Таблица&gt;" вместо в»<Таблица>".
    -->
    <XSL:Стоимость от Выберите="$tableStart" disable-output-escaping="Да"/>


    <TR>
      <!--
      P:Project_x005F_x0020_Name P:Project_x005F_x0020_End_x005F_x0020_Date P:Project_x005F_x0020_Budget P:Project_x005F_x0020_Expenses P:Project_x005F_x0020_Status
      -->
      <ТД>
        <XSL:Стоимость от Выберите="@Project_x005F_x0020_Name"/>
      </ТД>

      <ТД Выравнивание="право">
        <XSL:Стоимость от Выберите="@Project_x005F_x0020_End_x005F_x0020_Date"/>
      </ТД>

      <ТД Выравнивание="право">
        <XSL:вызов шаблон имя="FormatCurrency">
          <XSL:с param имя="значение" 
Выберите="@Project_x005F_x0020_Budget"></XSL:с param> </XSL:вызов шаблон> </ТД> <ТД Выравнивание="право"> <XSL:вызов шаблон имя="FormatCurrency"> <XSL:с param имя="значение" Выберите="@Project_x005F_x0020_Expenses">
</XSL:с param> </XSL:вызов шаблон> </ТД> <ТД> <XSL:Стоимость от Выберите="@Project_x005F_x0020_Status"/> </ТД> <!-- Все следующие закомментирован прояснить вещи. Однако, вернуть его обратно и вещи его в <ТД> чтобы увидеть его эффект. --> <!-- <div id = "linkitem" класс = «элемент»> <XSL:Если тест = «длина строки($SafeImageUrl) != 0»> <Div class = «изображение площадь левых»> <a href = "{$SafeLinkUrl}" целевых = "{$LinkTarget}"> <IMG класс = "изображение фиксированной ширины" src = "{$SafeImageUrl}"
Alt = "{@ImageUrlAltText}"/> </в> </Div> </XSL:Если> <Div класс = «связь элемент»> <XSL:вызов шаблон
Name="OuterTemplate.CallPresenceStatusIconTemplate"/> <a href = "{$SafeLinkUrl}"
целевых = "{$LinkTarget}" название = "{@LinkToolTip}"> <XSL:значение из выберите = «$ DisXSLyTitle» /> </в> <Div class = «описание»> <XSL:значение из select="@Description" /> </Div> </Div> </Div>
--> </TR> <!-- Выделяют закрытия таблицы тегов. Если мы не в последней строке, Это будет пустым. --> <XSL:Стоимость от Выберите="$tableEnd" disable-output-escaping="Да"/> </XSL:шаблон> <XSL:шаблон имя="FormatCurrency"> <XSL:Param имя="значение" Выберите="0" /> <XSL:Стоимость от Выберите='номер формата($значение, «$ DDD,DDD,DDD.EDC, «персонал»)' /> </XSL:шаблон>

22 мысли о «Отображения содержимого запросов веб-части результаты в сетке / Таблица

  1. Андреас

    ААА… Это было, потому что я назвал мой стиль списка по-разному и не понимал, что в ContentQueryMain.xsl он ищет «стиль»:

    <XSL:Когда test="@Style='NameOfMyStyle'»>

    С этим переименован он работал. 🙂

  2. Андреас

    Он почти работал для меня: Управлять для вывода </Таблица> закрывающий тег правильно, Однако отсутствует начальный тег. Это кажется тест = "$ CurPos = 1" значение true не возвращается. Но почему?

  3. Ананд Сингх Раватом

    Великий пост. Павел, я сделал все выше вещи. У меня есть запрос, как можно достичь, сумма «общая фактические расходы" или сумма стоимости двух столбцов.

  4. Лиза

    Вы сделали любую работу с создания пользовательских файлов ContentQueryMain и ItemStyle xsl? Я спрашиваю это, что я не хочу, чтобы беспокоиться о моем пользовательских стилей, перезаписи с любых исправлений или обновлений. Есть ли у вас примеры? Я пытался сделать точную копию ContentQueryMain.xsl и загрузки этой новой пользовательской копии в библиотеку стилей. Когда положить ссылку на этот файл xsl в .webpart MainXslLink собственности, Я получаю 401 не авторизован. Настраиваемый xsl-файл является опубликованной версии, и каждый имеет доступ на чтение к нему.

  5. Грег Шеридан

    Привет, Это было действительно полезно проводки. У меня это все работает, и изменения также реализовано Майк Браун так ИТ-групп
    результаты внутри таблицы, все, что я выбираю как параметр Group By в свойствах CQWB.
    Я сделал название ссылку также, так он работает хорошо. Я до сих пор одна проблема, Хотя. Я Группировка результатов по имени узла. Внутри таблицы, Он группирует их красиво, и это выглядит здорово, но это еще печать из всей группы
    имена(в моем случае имена сайтов) над таблицей. Кто-нибудь знает как избавиться от них?
    Спасибо,
    Грег

  6. Без имени

    Nice статьи. Мне удалось дать моим столом вид списков Sharepoint по умолчанию, анализируя исходный код списка. Вот основные блоки HTML, необходимо чтобы он поместился в ItemStyle:

    <Таблица ширина = "100%" класс = "ms-listviewtable" граница = 0 cellspacing = 0 cellpadding = 1 dir = «None»>

    <!–ЗАГОЛОВОК–>
    <TR класс = "ms-viewheadertr" VALIGN = TOP>
    <Й nowrap область = "col" класс = «ms-vh2»><Div стиль = "ширина:100%;позиция:относительная;слева:0;Вверх:0;">
    <Стиль таблицы = "ширина:100%;" CtxNum = "1" Высота = 100%" CellSpacing = 1 cellpadding = 0 класс = «ms-unselectedtitle»>
    <TR>
    <ТД ширина = "100%" Класс = "ms-vb" nowrap>
    Texte du титр ici

    </ТД>
    <ТД стиль = "позиция:абсолютное;">
    </ТД>
    </TR>
    </ТАБЛИЦА></Div>
    </TH>

    <!–Повторите для всех ячеек заголовков–>
    </TR>

    <!– Данные таблицы –>
    <Класс TR = «»>
    <!–Столбец данных, Используйте Павла код для первого с гиперссылкой –>
    <TD Class = «ms-vb2»>Данные здесь</ТД>

    <!–Пустой столбец–>
    <TD Class = «ms-vb2»>
    <диапазон dir = нет></диапазон><
    /ТД>

    <!–В столбце Дата–>
    <TD Class = «ms-vb2»>
    <NOBR>11/12/2008</NOBR>
    </ТД>
    </TR>

    <!–***Альтернативные строка – Используйте переменную XSL, которая будет вставить альтернативного класса, основанный на текущей строке по модулю 2–>
    <TR класс = «ms чередование»>

    </TR>
    </ТАБЛИЦА>

  7. Майк Браун
    Золтан,
    Я работал на тот же вопрос, как вы. Я хотел, все мои элементы отображаются в виде сгруппированных, а не только литы. Вот как я достиг его.
    ContentQueryMain.xsl
    <XSL:Когда test="@Style='Grid'»>
    <XSL:применить шаблоны выберите =»." режим = «itemstyle»>
    <XSL:имя с param = «CurPos" Выберите = "$ CurPosition" />
    <XSL:имя с param = "последний" Выберите = "$ LastRow" />
    <!–добавите этот новый раздел для передачи в параметр, указывающий новой группы началось–>
    <XSL:имя с param = «StartNewGroup" Select="@__begingroup" />
    </XSL:применить шаблоны>
    </XSL:когда>
    ItemStyle.xsl
    Добавить параметр
    <XSL:имя param = «StartNewGroup» />
    Добавить этот текст в качестве первой строки данных
    <XSL:выбрать>
    <XSL:когда тест = "$StartNewGroup = «True»»>
    <TR>
    <ТД >
    <XSL:вызов шаблон name="OuterTemplate.GetGroupName»>
    <XSL:имя с param = "имя_группы" Select="@*[имя()=$ Группа]"/>
    <XSL:имя с param = «GroupType" Выберите = «$ GroupType» />
    </XSL:вызов шаблон>
    </ТД>
    </TR>
    </XSL:когда>
    <XSL:в противном случае>
    </XSL:в противном случае>
    </XSL:выбрать>
    Это должно заботиться о проблему группировки в вашей сетке. Каждая группа теперь будет начинаться с новой строки, указывающее имя группы. В моем решении я на самом деле добавили пустой <TD /> в данных для отступа а так группировки стоял намного лучше.
    Сайт 1
    datacolumn1 datacolumn2 datacolumn3 и т.д.

    datacolumn1 datacolumn2 datacolumn3 и т.д.
    Сайт 2
    datacolumn1 datacolumn2 datacolumn3 и т.д.
    Сайт3

    datacolumn1 datacolumn2 datacolumn3 и т.д.

    datacolumn1 datacolumn2 datacolumn3 и т.д.
    и т.д..
  8. Золтан
    Привет Павел,
    Спасибо за пост, мне удалось организовать мои результаты запроса в сетке, Это очень полезно. Однако, Я должен идти дальше и группы мои результаты, основанные на сайтах. На данный момент, Сначала перечисляются имена сайта, и тогда существует только одна большая сетка, собирая все строки из различных сайтов. Что-то вроде этого:
    Сайт 1 имя
    Сайт 2 имя
    Данные в сетке для всех сайтов
    Любые идеи о том, что следует изменить для того чтобы получить мои данные следующим:
    Сайт 1 имя
    Данные в сетке, сайт 1
    Сайт 2 имя
    Данные в сетке, сайт 2
    Заранее спасибо,
    Золтан
  9. Пьер Жубер
    Фантастический должность, решить мою проблему, я был.
    Моя единственная проблема отображается поле «Назначено», Я настроить его с "пользователем" тип поля и импортированные webpart затем отображает следующее сообщение об ошибке:
    «Возникла ошибка при получении данных для отображения в этой веб-части."
    Я попытался с помощью всех типов возможных полей, ничего другого пользователя»" Он не отображает ошибки, но он ничего не отображает в поле. Поэтому я предполагаю, что тип поля пользователя является правильным, так что я должен отсутствует параметр где-то.
    Любые идеи по этому?
    Считает, что
    Пьер
  10. Charftong
    Великий пост!!! Очень и очень полезно.
    Быстрый вопрос, Вы сделали любую работу на отображение поля «назначено» или ModifiedBy с присутствием? По некоторым причинам, всякий раз, когда я пытаюсь dipslay поле Назначено в CQWP, Он всегда отображается с примером «203;#Charf Тонг». Я не могу найти способ обойти это.
  11. Дженнифер Дэвис
    Пол
    Большая статья, Спасибо. Я делаю что-то очень похожи, но хотят, чтобы отображать ссылку на сайте проекта, а не элемент в списке. Например, У нас есть 25 сайты верхнего уровня проекта и каждой содержат список с типами контента. Это имя проекта, Отдел, Описание. Я хочу использовать веб-часть запроса содержимого вывести эти данные и добились успеха, за исключением того, что по умолчанию URL-адрес принимает меня к записи элемента в списке и мне действительно нужно оно взять меня на сайте проекта. Вы можете дать мне какие-либо рекомендации?
    Спасибо
    Джен
  12. Пол Galvin
    Кирен,
    Я всегда использовать visual studio для редактирования XSL. Он предоставляет цветовое кодирование и он также имеет некоторые хорошие intellisense поддержку.
    –Пол
  13. Киран написал:

    Привет Павел,

    При работе с веб-часть xml/xsl и содержание запроса, нашли ли вы какие-либо хорошие способы для форматирования ваших xslt? Пытаясь внести изменения и тест дизайн оказывается право боль в ** только с помощью текстового редактора…

    Всего наилучшего

  14. Майкл Dipay
    Что касается вопроса у меня были последний раз, где она не отображает изображения из представления сетки, но вместо этого отображает текст (https://myweb.com/Marketing/images/icn-order.gif,). Мне удалось решить его с помощью SharePoint Designer, создав настраиваемое представление и выбирать пользовательские столбцы, которые я хочу показать. Я узнал, что тип столбца изображений отображаются как URL-адрес(запятая) (Например. https://myweb.com/Marketing/images/icn-order.gif,). Текущий формат является текст, так что я должен изменить его на изображение с общей xsl:значения из задачи-> Формат изображения. Это изменение отображения настраиваемых изображений, которые я хотел, чтобы показать. Я скопировал код, чтобы показать изображение ( <IMG границы ="0" src = "{подстрока-до(@IcnOrder, ‘, ‘)}" /> ) И в файле ItemStyle.xsl я должен изменить @PICTURECOLUMNNAME к коду <IMG границы ="0" src = "{подстрока-до(@IcnOrder, ‘, ‘)}" /> . Затем сохранить его. Теперь мои результаты сетки таблицы для отображения текста, а также пользовательских изображений типа столбцов.
  15. Хелен
    Привет Павел,
    Спасибо за замечательную статью!
    Вы упомянули, условное форматирование – «Также можно поместить в условное форматирование, Например, отображение проекты, которые превысили свой бюджет в красный цвет." Вы посчастливилось иметь пример кода для этого?
    Еще раз спасибо!
    Хелен
  16. Майкл Dipay
    Привет Павел,
    Это был большой статьи и был в состоянии произвести те же результаты, как ожидается. У меня есть требование, чтобы показать изображение в сетке как один из ее столбцов. Он не отображает изображение на сетке, но вместо этого отображает URL-адрес для изображения с (,) запятая в конце.
    (Например. https://myweb.com/Marketing/images/icn-order.gif, )
    Следует использовать изображение или фотографию в типе поля CommonViewFields? (Например. InternalColumnName, Изображение)
    Спасибо,
    Майк
  17. Saji Ijiyemi

    Ваше сообщение является именно то, что я искал. Однако, Я не могу получить его на работу.

    У меня есть документы, которые хранятся в различных doc. библиотеки, но объявления с помощью столбца пользовательского класса (Выбор: 1 или 2. Я хочу использовать CQWP, чтобы показать эти документы, на основе их класса.
    Я был в состоянии добавить CQWP, экспортировать его в СДПГ, Настройка itemStyle.xls для отображения настраиваемых полей в представлении списка. Однако, Я не мог успешно реализовать, что вы описали здесь.

    Этими значениями являются столбцы, которые я хочу показать в моем CQWP:

    Тип файла (чтобы показать значок)
    Название файла
    Дата последнего изменения
    Изменение ВОЗ
    Извлечен
    Проверил в комментариях

    В настоящее время у меня результат в виде списка. Как изменить его формат talble.

    Спасибо.

    Садзи

Оставить ответить Майкл Dipay отменить ответ

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *