Архивы по месяцам: Декабрь 2007

Мой сын взломали Gamespot

Таким образом, Сегодня утром, Мой сын определяется увидеть что Halo ограничивает возраст 13 3 видео на GameSpot. Я проживаю за пределами лопатой снег, так что я не там, чтобы помочь или помешать. Необходимость является матерью изобретения и все, что … Он имеет Эврика! момент. Он понимает, что, даже несмотря на то, что Gamespot хочет ввести его реальный Дата рождения, Он на самом деле может ввести любое Дата рождения, которое он хочет. После того, как он понял, что, Он сделал себе достаточно старый, чтобы посмотреть видео.

I’m not quite sure how I feel about this 🙂

Воскресенье смешно: “Это печать мусор”

В моей первой работе из колледжа в 1991, Мне посчастливилось работать для производственной компании с 13 места, не включая ее корпоративной штаб-квартиры в Нью-Джерси. Я присоединился к просто, когда компания выкатывания новой системы пор. Мы были около десяти человек вообще небольшой ИТ-отдел, два из которых не путешествия. Частью проекта участвует, заменив IBM System 36 коробки с HP оборудования и HPUX. Все использовали зеленый трубы для доступа к системе.

Проект выполняет накат вдоль и я послан Балтимор с новый сотрудник, Джефф. Наша работа была к власти окно Unix, Убедитесь, что запущена ОС, Установка системы пор, Настройка ERP, обучать людей на ERP и делать пользовательские работы для людей на месте. (Это была мечта работу, особенно выходит прямо из колледжа). Прежде чем мы действительно могли бы получить от земли, нам необходимо распаковать все зеленые трубы, Положите их на стол и проволоки их. И лучшая часть, что нам пришлось положить RJ11 разъемы на себя.

По некоторым причинам, я никогда не понимал и фактически никогда не думала поинтересоваться в то время, Мы имели некоторые компании приехать вместе и запустить кабель во всем завод, но у нас не было их надеть разъемы. Таким образом, там был "патч ящик" с десятками немеченому кабелей в компьютерном зале"" и они возводятся вокруг здания в различные места в здании.

Мы работали наш путь через него в течение выходных дней, тестирование каждый провод, на соединительной линии (Убедившись, что он был прямо vs. пересекли), обеспечение битовые настройки на зеленой трубки и принтеры были правильно, Маркировка проводов, Убедившись, что "Гетти" был запущен правильно для каждого порта и вероятно тысячу других вещей, что я подавлено с тех пор. Все это пришло вместе довольно красиво.

Но, там был один важный кабель, что мы не смогли выяснить. Завод в Балтиморе были отношения с местом складирования в Нью-Джерси. Некоторые заказы, размещенные в Балтиморе вывезены из этого местоположения. Там были два провода, которые мы должны были подключиться к поле HPUX: зеленой трубки и принтер. Зеленые трубы было легко, но принтер превратилась в кошмар три недели.

Если вы не знаете, или подавлял ее, дело с зеленой трубки и принтерами таким образом, Существуют различные варианты, которые вы имеете дело с, установив различные контакты. 8-бит, 7-бит, паритет (даже/нечет/нет), вероятно, другие. Если вы получаете один из этих параметров неправильно, трубу или принтер по-прежнему показывает вещи, но это будет полной тарабарщиной, или он будет бред с большим количеством узнаваемые вещи между ними. Конечно, Эти контакты являются трудно увидеть и должны быть установлены с помощью небольшой отвертки плоским краем. И они никогда не являются стандартными.

Мы создали первый из многих быстро звонков с парнем, NJ (hater матерых компьютер, который вероятно проклинает нас по сей день). Мы получили зеленой трубки, работает довольно быстро, но мы не могли получить принтера к работе. Он держал «печати мусора». Мы хотели бы создать новый соединитель RJ11, Переключение между скрещенными и прямой. Мы бы удалить порт и воссоздан в Unix. Мы прошли через трудная задача его объяснить нам PIN-код конфигурации принтера, никогда не совсем уверен, если он делает это правильно.

Речь идет о времени идти жить, все, что в Балтиморе припевать, но мы не можем получить проклял принтера в Нью-Джерси для работы! Мы исчерпали все возможности за исключением вождения обратно до Нью-Джерси для работы на принтере в лицо. Чтобы избежать все, что вождение, Мы наконец попросить его нам то, что он становится, когда оно является «мусора», надеясь, что возможно будет существовать некоторые понятия в этот мусор, который скажет нам, что мы делаем неправильно.

Когда мы получили Факс, Мы сразу же знал, что был неправ. См., Наш метод тестирования ли мы правильно настроить принтер был выпустить «lp" команда как это:

LP/etc/passwd

В основном, Мы выводим файла паролей unix. Это всегда присутствующих и из коробки, всегда только одна страница. Вы стандартный Unix пароль файл выглядит примерно так:

Смит:*:100:100:8A-74(Управление):/Главная/Смит:/usr/bin/sh гость:*:200:0::/Главная/гость:/usr/bin/sh  

Мы из файла паролей снова и снова на несколько недель и он печати правильно. Однако, для конечного пользователя, Это был «печати мусора».

</конец>

Еще другой сети полномочия Multi-Challenge проблема и решение

Мой клиент недавно установили волшебное устройство от Можжевельник Это очевидно заменили их старые службы балансировки нагрузки сети Cisco (NLB). В то же время, Мы установили Исправление для решения проблемы рабочего процесса.

Через день или два позже, Мы заметили проблемы, когда мы доступ к поставщика общих служб (ПВУ). Мы могли бы получить на него, но мы бы оспариваться ID пользователя и пароль много раз на каждой странице. Это не случилось с основного приложения портала, ни центра администрирования. Естественно, Мы не знали, какой из двух (Можжевельник или исправления) вопрос будет, Хотя я решительно подозреваемых исправления, Подумав, мы были не установил его совершенно правы.

Оказалось, что можжевельник имел какой-то параметр сжатия. Один из облаченные фигуры над в сети группы оказалось что отправиться. Это наша проблема решена.

Это не первый раз, что сжатие был основной причиной проблемы SharePoint для меня. Сжатие IIS отрицательно сказывается 3rd партия инструмент из добрых людей на заводе Dot Net для IE 6 браузеры (IE 7 браузеры, работал без труда).

Таким образом, Добавить "сжатие" к списку рисков.

</конец>

Кредит: http://www.elfwood.com/art/s/h/sherry/death_colour.jpg.html

Мысли о смене блогов платформы

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

Однако, Я действительно просто влюбилась в MS раствор с почти никакого планирования. Что только звонки для меня, чтобы оценить, где я и где я буду, с точки зрения платформу блогов. Есть также два важных ограничения, которые беспокоят меня справа теперь vis-à-vis Windows Live Spaces.

Первый, Я не могу получить очень хорошая статистика. Есть статистика, но часто усекается и не представлена способом, который позволяет для любого вида анализа подробно. Там нет возможности сортировки или экспорта. Я получаю много блог идеи, основанные на такой информации, которую люди находят (или особенно не найти) когда они ищут мой блог. Это очень трудно использовать жизнь запрещено для этого.

Второй, не существует каких-либо механизмом для «монетизации" блог windows live пространства. На самом деле, для того, чтобы избавиться от MS объявлений (от которого я извлечь никакой пользы), Мне нужно на самом деле платить корпорации Майкрософт. (По крайней мере, Вот, как я понимаю; Я не смог получить окончательные ответы на этот и такие вопросы, как это).

Теперь, у меня сложилась практика и набор привычек блогов, Я хочу оценить другие варианты. Я сделал некоторые исследования, и есть много вариантов, но мне любопытно, что другие люди, особенно другие сообщества SharePoint (как блоггеры или читателей), как использовать.

Если вас интересует этот вопрос, и у вас есть свое мнение или готовы поделиться своим опытом, Пожалуйста, оставьте комментарий или электронной почте меня непосредственно.

Спасибо!

<конец />

Бирки Technorati:

SharePoint Designer электронной почты отправляет ???? в электронной почте

Иногда спрашивают пользователей форума: Почему SharePoint Designer поставить ???? в моей электронной почте вместо значения поля?

Одна из причин, по которой это происходит это потому, что переменная, на которую вы ссылаетесь является null.

Это может произойти, потому что вы пытаетесь, чтобы ссылаться на поле из «текущего элемента" но никогда не введенное пользователем значение в это поле формы.

<конец />

Сравнение / Тест для пустых даты в SharePoint Designer рабочий процесс

Сценарий: В рабочем процессе SharePoint Designer, Вам нужно определить, является ли пустым поле даты.

Проблема: СПД не обеспечивает прямой метод для сравнения дат для ничего, кроме даты. Нельзя создать условие как это: «Если [DateField] равно пустой».

Решение: Преобразование даты в строку. Использовать сравнение строк, чтобы определить, если дата является пустым.

Снимки экрана:

На следующих снимках экрана показано, как это сделать. В этом случае, в поле на элемент, «Экологические разрешения:Первые позволяют Дата напоминание», представлен и рабочего процесса запускает в ответ.

изображение

изображение

Примечания:

Когда я попытался это, Я был приятно удивлен узнать, что он работает. Я был обеспокоен тем, что SharePoint Designer может запретить строку назначения (Переменная:StringReminderDateDate) но она позволяет это.

Я был также обеспокоен тем, что позволяет ему, значение может быть null и либо взорвать WF во время выполнения или возможно повышение глобальной температуры 1/2 степень, но эти опасения необоснованны.

</конец>

Бар-это все еще довольно высокой, продлить Мосс

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

«Первый, настроить CQWP для подключения к источникам данных, его, Затем вы экспортировать его в вашу рабочую станцию, изменить <CommonViewFields>, загрузить, Удалить оригинальный и теперь это ' заливают’ для отображения этих столбцов. Следующая, Откройте SharePoint designer, Перейдите к корню семейства сайтов и найдите ItemStyle.xsl. Копирование один из шаблонов в качестве полезной отправной точки. Вернуться назад и изменить CQWP, чтобы использовать этот новый шаблон. Наконец, изменить шаблон для отображения новых полей! (Не забудьте проверить его обратно в так что другие пользователи могут увидеть результаты)."

Это все совершенно ясно, ко мне (и большинство из нас типов разработчиков SharePoint) что происходит и как это очень приятно, действительно, аспекты извлечения данных CQWP так хорошо отдельно от аспектов представления данных. Но, Это не так легко объяснить, Это?

<конец />

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

Обзор и цели

Из коробки, МОСС’ Веб-часть запроса содержимого (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:шаблон>

Стандартные экраны ввода данных WSS/Мосс не поддерживает каскадных раскрывающихся списков (или другие интра-от общения)

ОБНОВЛЕНИЕ (04/2008): Этот великий вход блоге показывает хороший javascript на основе подхода к этой проблеме: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

II ОБНОВЛЕНИЕ: (04/2008): Эта запись в блоге выглядит многообещающим, а также: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

Несколько раз в неделю, Если не ежедневно, Форум пользователей описывают это требование обычно будут удовлетворяться через каскадных раскрывающихся списков. Например, У меня есть два раскрывающихся элементов управления:

  • Список США. государства
  • Список США. города.

Как ответственные поставщики пользовательского интерфейса, Мы хотим работать, как это:

  • Павел выбирает США. состояние из раскрывающегося списка.
  • Это вызывает городов раскрывающийся список для фильтрации только те города, которые принадлежат к выбранное состояние.
  • Павел выбирает город из отфильтрованного списка.

Нет поддержки для этой функции out-of--box. На самом деле, нет поддержки OOB за любого рода прямой внутри формы коммуникации. Это включает программное скрытие/включение/отключение поля в ответ на изменения области в другом месте на форме.

Реальная цель этой статьи к для того чтобы описать возможные решения и эти варианты как я их знаю:

  1. Разработайте настраиваемый столбец Тип. Как разработчик пользовательских столбцов, у вас есть полный контроль над миром»" из этого пользовательского столбца. Вы можете реализовать раскрывающегося каскадного таким образом.
  2. Рассмотрите возможность использования рабочего процесса. В некоторых случаях, Вы хотите, чтобы автоматически присвоить значение поля на основе значения другого поля. В этом случае, Вы обычно будет пытаться использовать вычисляемый столбец, но некоторые раз, Он просто не получить работу. Рабочий процесс SharePoint Designer является относительно администрирования среды альтернативой снижается в код и visual studio. Если вы идете этот маршрут, быть в курсе проблемы, рассмотренные Эта статья (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. Обработчики событий: Как рабочий процесс, Это решение после факта. Ваш обработчик событий является сборкой .NET (C#, VB.NET) в которой SharePoint проходит контроль. Объект, который вы разрабатываете имеет доступ к данным списка (и вся объектная модель) и можно сделать любые необходимые вычисления.
  4. Использование SharePoint Designer для создания форм пользовательского ввода. У меня нет непосредственный опыт с этим подходом, but I hear they are doing good things with NewForm.aspx these days 🙂
  5. Ролл собственную функцию ввода данных ASP.NET (автономные веб-страницы или веб-части) и использовать его вместо.

Если кто знает другие или более вариантов, Просьба оставить комментарий и я буду обновлять тело этого поста.

<конец />

Бирки Technorati:

Да/нет (флажок) Фильтрация содержимого веб-части запроса

Для фильтрации для запроса да/нет флажок под названием «PG вехой», настроить CQWP как это:

изображение

Это еще один из тех вопросов, очевидным-один раз вы знаете это но hard-to-find-an-answer-to: Как фильтровать на да/нет флажок, с помощью веб-части запроса контента.

Первый Результат поиска Найти с помощью поиска термина «фильтр веб-часть запроса контента да/нет" Это плоский из неправильно, так я думал, я хотел бы поставить этот вопрос там и посмотреть, если он может заменить неверный результат в результатах поиска типичных.

Это довольно легко: True значения = «1" и ложные значения не равны "1" (красивые ретро, на самом деле).

В приведенном выше примере, Я создал сайт столбцов типа да/нет" (флажок)" именем «PG вехой». Я добавил его в библиотеку doc, загрузил несколько документов, Установите значение на пару и проверял.

<конец />