Месечни архиви: Декември 2007

Мојот Син Хакирано Гејмспот

Така, ова утро, мојот син е решена да видите на возраст тринаесет ограничен Хало 3 video at Gamespot. I’m outside shoveling snow, so I’m not there to help or hinder. Necessity is the mother of invention and all that … he has a eureka! moment. He realizes that even though Gamespot wants him to enter his real birth date, he can actually enter било birth date he wants. Once he realized that, he made himself old enough to see the video.

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

Недела Смешни: “Тоа е Печатење ѓубре”

Во мојата прва работа надвор од колеџот во 1991, Имав среќа да работат за производство на компанијата со 13 локации, not including its corporate HQ in New Jersey. I joined just when the company was rolling out a new ERP system. We were a small IT department of about ten people altogether, two of whom Did Not Travel. Part of the project involved replacing IBM System 36 boxes with HP hardware and HPUX. Everyone used green tubes to access the system.

The project rolls along and I’m sent down to Baltimore with a new co-worker, Џеф. Our job was to power up the Unix box, make sure the O/S was running, install the ERP system, configure the ERP, train people on the ERP and do custom work for folks on the spot. (This was a dream job, especially coming straight out of college). Before we could really get off the ground, we needed to unpack all the green tubes, put them on desks and wire them. And the best part was that we had to put the RJ11 connectors on ourselves.

For some reason that I never understood and actually never thought to ask about at the time, we had had some contracting company come along and run cable throughout the plant, but we didn’t have them put on the connectors. Така, there was a "patch box" with dozens of of unlabeled cables in the "computer room" and these snaked around the building to various places in the building.

We worked our way through it over the course of a weekend, testing each wire, putting on a connector (making sure it was straight vs. crossed), ensuring the bit settings on the green tubes and printers were correct, labeling wires, making sure that "getty" was running correctly for each port and probably a thousand other things that I’ve suppressed since then. It all came together quite nicely.

Но, there was one important cable that we couldn’t figure out. The plant in Baltimore had a relationship with a warehousing location in New Jersey. Some orders placed in Baltimore shipped out of that location. There were two wires that we had to connect to the HPUX box: a green tube and a printer. The green tube was easy, but the printer turned into a three-week nightmare.

If you don’t know it, or have suppressed it, dealing with green tubes and printers this way, there are various options that you deal with by setting various pins. 8-малку, 7-малку, parity (even/odd/none), probably others. If you get one of those settings wrong, the tube or printer still shows stuff, but it will be total gibberish, or it will be gibberish with a lot of recognizable stuff in between. Се разбира, these pins are hard to see and have to be set by using a small flat-edge screw driver. And they are never standard.

We set up the first of many quick calls with the NJ guy (a grizzled computer hater who probably curses us to this day). We got the green tube working pretty quickly, but we couldn’t get the printer to work. It kept "printing garbage". We would create a new RJ11 connector, switching between crossed and straight. We would delete the port and re-created in Unix. We went through the arduous task of having him explain to us the pin configuration on the printer, never really sure if he was doing it correctly.

It’s about time to go live, everything in Baltimore is humming, but we can’t get the cursed printer up in NJ to work! We’ve exhausted all possibilities except for driving back up to NJ to work on the printer in person. To avoid all that driving, we finally ask him to fax us what he’s getting when it’s "garbage", hoping that maybe there will be some clue in that garbage that will tell us what we’re doing wrong.

When we got the fax, we immediately knew what was wrong. Види, our method of testing whether we had configured a printer correctly was to issue an "lp" command like this:

lp /etc/passwd

Основа, we printed out the unix password file. It’s always present and out of the box, always just one page. You standard Unix password file looks something like this:

smith:*:100:100:8A-74(канцеларија):/home/smith:/usr/bin/sh
guest:*:200:0::/home/guest:/usr/bin/sh  

We had been printing out the password file over and over again for several weeks and it was printing correctly. Сепак, to the end user, it was "printing garbage".

</крајот>

Уште еден Мрежа Сертификати Мулти-предизвик прашање и решение

Мојот клиент неодамна инсталиран магија уред од Смрека што очигледно го замени своите стари Cisco мрежна оптоварување стабилизатор (НЛБ). At about the same time, ние инсталирано амбуланта корегирање за решавање на работното проблем.

Еден ден или два подоцна, ние забележав проблем кога ние пристапи заедничкото давателот на услугата (SSP). We could get to it, but we would be challenged for a user ID and password many times on each page. This didn’t happen with the main portal app, nor central administration. Naturally, ние не знаеме која од двете (Смрека или амбуланта корегирање) ќе биде прашање, иако јас силно осомничени амбуланта корегирање, пронајдат ние не го инсталира сосема во право.

It turned out that Juniper had some kind of compression setting. Еден од одежда бројки over in the network group turned that setting off. That solved our problem.

This is not the first time that compression has been the root cause of a SharePoint problem for me. IIS compression adversely affected a 3rd party tool from the good people at The Dot Net Factory for IE 6 прелистувачи (ИЕ 7 прелистувачи работел без тешкотии).

Така, add "compression" со опасностите листа.

</крајот>

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

Да размислува за промена Блогирање платформа

I started off my "blogging career" using Microsoft’s platform and it’s been good to me. It’s easy to post, there are good options and widgets for managing your "space", пристоен веб складирање и така натаму.

Сепак, I really just fell into the MS solution with almost no planning. That alone calls for me to evaluate where I am and where I’m going, in terms of a blogging platform. There are also two important limitations that bother me right now vis-à-vis Windows Live Spaces.

Прва, I can’t get very good statistics. There are stats but the detail is often truncated and not presented in a way that allows for any kind of analysis. There no sorting or export capability. I get many blog ideas based on the kind of information people find (или особено не успеваат да најдат) when they search my blog. It’s very hard to use lives spaces for that.

Вториот, there does not seem to be any mechanism to "monetize" a windows live space blog. Всушност, со цел да се ослободи од MS реклами (од кој јас произлегуваат никаква корист), I need to actually pay Microsoft. (Најмалку, тоа е како јас го разбирам; Јас сум бил во можност да се добие дефинитивен одговор на ова и прашања се допаѓа).

Сега дека имам воспоставено шема и сет на блогирањето навики, I want to evaluate other options. I’ve done some research and there are a lot of choices, но јас сум љубопитен за тоа што други луѓе, особено другите во заедницата SharePoint (како блогери или читателите), like to use.

Ако оваа тема ве интересира и имаш мислење или се подготвени да ги споделите вашите искуства, Ве молиме оставете коментар или е-мејл мене директно.

Благодарение!

<крај />

Technorati Тагови:

SharePoint Designer-пошта Испраќа ???? во е-пошта

Форум корисници повремено побара: Зошто SharePoint Designer се стави ???? во мојот мејл, наместо на полето вредност?

Една причина ова се случува е поради тоа што на променливата на која што се однесува е null.

This can happen because you are trying to reference a field from the "current item" но никогаш на корисникот внесе вредност во таа форма поле.

<крај />

Technorati Тагови:

Споредете / Тест за Слепа Датуми во SharePoint Designer работното

Сценарио: Во дизајнер SharePoint работното, you need to determine if a date field is blank.

Проблем: SPD does not provide a direct method for comparing dates to anything other than a date. You cannot create a condition like this: "If [Поле со датум] equals blank".

Решение: Convert the date to a string. Use string comparison to determine if the date is blank.

Екран снимки:

The following screen shots show how to do this. Во ова сценарио, поле на некој објект, "Environmental Permits:First Permit Reminder Date", се доставува и на работното пожари во одговор.

сликата

сликата

Белешки:

Кога јас се обидував ова, I was pleasantly surprised to learn that it works. I was worried that SharePoint Designer might disallow the string assignment (Променлива:StringReminderDateDate) но тоа не му се овозможи.

Јас бев исто така загрижени дека тоа овозможувајќи, вредноста може да биде ништовен и било кренат на WF за време на извршувањето или можеби се подигне глобалната температура 1/2 степен, но оние кои се однесува се неосновани.

</крајот>

Technorati Тагови:

Бар се уште е прилично висок за да се прошири Мос

Денес, I was working with a client and describing how to modify the content query web part and display additional bits of information from a content type.

"First, you configure the CQWP to connect to its data sources, then you export it to your workstation, modify <CommonViewFields>, upload, remove the original and now it’s ‘primed’ to display those other columns. Следна, open up SharePoint designer, navigate to the site collection root and locate ItemStyle.xsl. Copy one of the templates as a useful starting point. Go back and modify the CQWP to make use of this new template. Конечно, modify the template to render your new fields! (Don’t forget to check it back in so that other users can see the results)."

It’s all quite clear to me (and most of us SharePoint developer types) what’s going on and how it’s quite nice, навистина, that the data retrieval aspects of the CQWP are so well-separate from the data presentation aspects. Но, it’s not so easy to explain, is it?

<крај />

Technorati Тагови: ,

Покажи Содржина Пребарување Веб Дел Резултати во мрежа / Табела

Преглед и цел

Надвор од кутијата, Мос’ Содржината Пребарување Веб Дел (CQWP) покажува своите резултати во листата формат, similar to search results. It is also possible to display the results in a grid format (i.e. HTML табела формат). Grid formats are better in some circumstances. I describe how to achieve that effect in this article.

Бизнис сценарио

I have worked with a client on an enterprise-wide MOSS rollout. We have designed their taxonomy such that projects are first class citizens in the hierarchy and have their own top level site. Project managers maintain a singleton list of project summary information, како што е насловот, буџет, очекува завршување, remaining budget and other summary type fields. By "singleton" I mean a custom SharePoint list guaranteed to contain only one item. Simplistically, тоа би изгледало вака:

сликата

На технички пристап е речиси иста како што е опишано тука (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). The CQWP uses an XSL transform to emit HTML for the browser to render.

I always envision the result before diving into the XSL because XSL is a nightmare. Here’s my desired result:

сликата

HTML вака генерира, кои се резултат:

<html>
 <тело>
 <центар>
 <маса границата= 1>

<!-- Етикети ->
 <tr bgcolor= Сина>
 <td><фонт боја= Бело><б>Име на проектот</б></фонт></td>
 <td усогласување на= Право><фонт боја= Бело><б>Заврши Датум</б></фонт></td>
 <td усогласување на= Право><фонт боја= Бело><б>Буџет</б></фонт></td>
 <td усогласување на= Право><фонт боја= Бело><б>Крај на трошоците</б></фонт></td>
 <td><фонт боја= Бело><б>Целокупната состојба</б></фонт></td>
 </tr>

<tr>
 <td>Ре-жица компјутерска сала.</td>
 <td усогласување на= Право>02/01/08</td>
 <td усогласување на= Право>22,500.00</td>
 <td усогласување на= Право>19,000.00</td>
 <td>Во прогрес</td>
 </tr>

<tr>
 <td>Обезбедување сервери за SQL Надградба</td>
 <td усогласување на= Право>04/01/08</td>
 <td усогласување на= Право>7,500.00</td>
 <td усогласување на= Право>0.00</td>
 <td>Планирани</td>
 </tr>

</маса>
 </центар>
 </тело>
</html>

Пристап

Следете ги овие чекори за да се создаде мрежа:

  1. Идентификација на компонентите на решетка (редови / колони).
  2. Дефинираат и да се создаде потребната сајт колони.
  3. Креирате под-сајтови за проекти и Singleton листи.
  4. Додадете CQWP на веб страница и конфигурирајте го да пребарувате за вашиот листи.
  5. Менувате XML на CQWP да собере дополнителни колони.
  6. Менувате XSL да генерира табела.

I’m going to concentrate on number six. Numbers one through four are straight-forward and something that any CQWP user has already done. Number five has been well-documented by others including this exhaustive screen-shot laden article from MSDN тука (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) и блог Хедер Соломон тука (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Ореви и завртки

Започнете и спроведување чекори едно преку пет, како за на MSDN документација и член Хедер Соломон.

Во овој момент, сте ги додале на вашиот CQWP на страница и имате <CommonViewFields> конфигуриран како што е потребно.

По вообичаените чекори, Јас се добијат овие средно резултати:

1. Креирај типот на содржина, a templatized custom list for that content type and two sites. Here is the content type:

сликата

Тука е сајт структура:

сликата

2. Додадете CQWP по создавањето на мојот проект под-сајтови и Singleton проект резиме листи:

сликата

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. Во овој момент, we’re ready to move beyond the MSDN article and flip on over to Heather Solomon’s article. Follow her steps starting near step #5 да креираш кориснички / unghosted version of ItemStyle.xsl. I follow Heather’s advice, нагоре низ чекор 11 и да се овие средно резултати:

4.1: Името на мојата XSL дефиниција како што следува:

<XSL:template name="Grid" match="Row[@Style=’Grid’]" mode="itemstyle">

Јас исто така, малку менувате нејзиниот предложи <XSL:за секој- …> со додавање на <Br /> ознака за да се обезбеди почиста оглас:

    <XSL:за секој- изберете="@ *">
      P:<XSL:вредност на изберете="име()" /><BR/>
    </XSL:за секој->

4.2: Јас менувате веб дел, go to appearance and select my "Grid" стил:

сликата

Применуваат промени и тука е резултат:

сликата

Можеме да видиме од погоре дека на полиња сакаме (Име на проектот, сметка, статус, итн) are available for us to use when we emit the HTML. Not only that, but we see the names by which we must reference those columns in the XSL. На пример, we reference Project Status as "Project_x005F_x0020_Name".

Во овој момент, ќе заминеме од блог Хедер и од рамениците на овие гиганти, Додадам моето малку.

ContentQueryMain.xsl

ЗАБЕЛЕШКА: Кога правење на промени во двете ContentQueryMain.xsl како и ItemStyle.xsl, што треба да се провери оние датотеки назад, и пред да го видите ефектот на вашите промени.

За мрежа одлуки цели, MOSS uses two different XSL files to produce the results we see from a CQWP. To generate the previous bit of output, we modified ItemStyle.xsl. MOSS actually uses another XSL file, ContentQueryMain.xsl to in conjunction with ItemStyle.xsl to generate its HTML. As its name implies, ContentQueryMain.xsl is the "main" XSL that controls the overall flow of translation. It iterates through all the found items and passes them one by one to templates in ItemStyle.xsl. We’ll modify ItemStyle.xsl to generate the open <маса> ознака пред емитуваат првиот ред на податоци и затворање <маса> tag after emitting the last row. To accomplish this, ContentQueryMain.xsl is modified to pass two parameters to our "grid" дефиниција во ItemStyle.xsl, "last row" and "current row". ItemStyle.xsl uses these to conditionally emit the necessary tags.

Користење на техника Хедер Соломон, we locate ContentQueryMain.xsl. It is located in the same place as ItemStyle.xsl. This screen shot should help:

сликата

Ние треба да направите следниве промени:

  • Менување на дефиниција XSL, "CallItemTemplate" that actually invokes our Grid template in ItemStyle.xsl. We will pass two parameters to the Grid template so that it will have the data it needs to conditionally generate opening and closing <маса> тагови.
  • Modify another bit of ContentQueryMain.xsl that calls the "CallItemTemplate" to pass it a "LastRow" параметар, така што LastRow може да се пренесат на нашите Решетка дефиниција.

Locate the template named "OuterTemplate.CallItemTemplate" идентификувани од страна на низа:

  <XSL:дефиниција име="OuterTemplate.CallItemTemplate">

Замени целата дефиниција како што следува:

  <XSL:дефиниција име="OuterTemplate.CallItemTemplate">
    <XSL:престанат име="CurPosition" />

    <!--
      Add the "LastRow" параметар.
      We only use it when the item style pass in is "Grid".
    -->
    <XSL:престанат име="LastRow" />

    <XSL:изберете>
      <XSL:кога тест="@ Style = "NewsRollUpItem"">
        <XSL:применува-шаблони изберете="." владата="itemstyle">
          <XSL:со-Парам име="EditMode" изберете="$cbq_iseditmode" />
        </XSL:применува-шаблони>
      </XSL:кога>
      <XSL:кога тест="@ Style = "NewsBigItem"">
        <XSL:применува-шаблони изберете="." владата="itemstyle">
          <XSL:со-Парам име="CurPos" изберете="$CurPosition" />
        </XSL:применува-шаблони>
      </XSL:кога>
      <XSL:кога тест="@ Style = "NewsCategoryItem"">
        <XSL:применува-шаблони изберете="." владата="itemstyle">
          <XSL:со-Парам име="CurPos" изберете="$CurPosition" />
        </XSL:применува-шаблони>
      </XSL:кога>

      <!--
              Помине моментална позиција и lastrow да Мрежните itemstyle.xsl дефиниција.
              ItemStyle.xsl ќе ја користат таа да се емитуваат на отворено и затворање <маса> тагови.
      -->
      <XSL:кога тест="@ Style = "Мрежа"">
        <XSL:применува-шаблони изберете="." владата="itemstyle">
          <XSL:со-Парам име="CurPos" изберете="$CurPosition" />
          <XSL:со-Парам име="Последно" изберете="$LastRow" />
        </XSL:применува-шаблони>
      </XSL:кога>

      <XSL:во спротивно>
        <XSL:применува-шаблони изберете="." владата="itemstyle">
        </XSL:применува-шаблони>
      </XSL:во спротивно>
    </XSL:изберете>
  </XSL:дефиниција>

Коментари опише целта на промени.

Се разбира, the "OuterTemplate.CallItemTemplate" is itself called from another template. Locate that template by searching for this text string:

<XSL:дефиниција име="OuterTemplate.Body">

Движете се низ инструкциите во OuterTemplate.Body и вметнете ја параметар LastRow како што следува (прикажани како коментар во закосени букви):

<XSL:повик-дефиниција име="OuterTemplate.CallItemTemplate">
  <XSL:со-Парам име="CurPosition" изберете="$CurPosition" />
  <!-- Вметнете ја параметар LastRow. -->
  <XSL:со-Парам име="LastRow" изберете="$LastRow"/>
</XSL:повик-дефиниција>

По сето ова, ние конечно работите се постави правилно, така што нашите ItemStyle.xsl можат да емитуваат <маса> тагови на вистинското место.

ItemStyle.Xsl

ЗАБЕЛЕШКА: Повторно, провери во ItemStyle.xsl по правење било какви промени, така што ќе го видите ефектот на тие промени.

Имаме две задачи овде:

  • Replace the entire Grid template. You can copy/paste from below.
  • Add some mumbo jumbo outside the template definition that enables "formatcurrency" template to work. (Можете да кажете дека имам слаб рачка на XSL).

Прва, во близина на врвот на ItemStyle.xsl, додадете оваа линија:

  <!-- Некои mumbo џамбо што ни овозможува да се прикаже U.S. валута. -->
  <XSL:децимална формат име="персонал" цифрениот="D" />

  <XSL:дефиниција име="Стандардно" одговара="*" владата="itemstyle">

Имајте на ум дека јас се додава непосредно пред <XSL:template name="Default" …> дефиниција.

Следна, go back to our Grid template. Replace the entire Grid template with the code below. It is thoroughly commented, но немојте да се двоумите да ми пишете или оставете коментари на мојот блог, ако имате прашања.

  <XSL:дефиниција име="Решетка" одговара="Ред[@ Style = "Мрежа"]" владата="itemstyle">

    <!--
      ContentMain.xsl поминува CurPos и ​​Последен.
      Ние ги користиме овие да се условно емитуваат на отворено и затворање <маса> тагови.
    -->
    <XSL:престанат име="CurPos" />
    <XSL:престанат име="Последно" />

    <!-- Следниве променливи се немодифицирана од стандардниот ItemStyle.xsl -->
    <XSL:променлива име="SafeImageUrl">
      <XSL:повик-дефиниција име="OuterTemplate.GetSafeStaticUrl">
        <XSL:со-Парам име="UrlColumnName" изберете=""ImageUrl""/>
      </XSL:повик-дефиниција>
    </XSL:променлива>
    <XSL:променлива име="SafeLinkUrl">
      <XSL:повик-дефиниција име="OuterTemplate.GetSafeLink">
        <XSL:со-Парам име="UrlColumnName" изберете=""LinkUrl""/>
      </XSL:повик-дефиниција>
    </XSL:променлива>
    <XSL:променлива име="DisplayTitle">
      <XSL:повик-дефиниција име="OuterTemplate.GetTitle">
        <XSL:со-Парам име="Наслов" изберете="@ Наслов"/>
        <XSL:со-Парам име="UrlColumnName" изберете=""LinkUrl""/>
      </XSL:повик-дефиниција>
    </XSL:променлива>
    <XSL:променлива име="LinkTarget">
      <XSL:ако тест="@ OpenInNewWindow = 'точно'" >_blank</XSL:ако>
    </XSL:променлива>

    <!--
      Еве ние се дефинира променлива, "tableStart".  Таа содржи HTML
      .  Имајте на ум дека ако CurPos = 1, тоа вклучува HTML во таг CDATA.
      Во спротивно, таа ќе биде празна.

      Вредноста на tableStart е emited секој пат ItemStyle се вика преку
      .
    -->
    <XSL:променлива име="tableStart">
      <XSL:ако тест="$CurPos = 1">
        <![CDATA[
        <маса границата = 1>
          <tr bgcolor="blue">
            <td><font color="white"><б>Име на проектот</б></фонт></td>
            <td align="right"><font color="white"><б>Заврши Датум</б></фонт></td>
            <td align="right"><font color="white"><б>Буџет</б></фонт></td>
            <td align="right"><font color="white"><б>Крај на трошоците</б></фонт></td>
            <td><font color="white"><б>Целокупната состојба</б></фонт></td>
          </tr>
        ]]>
      </XSL:ако>
    </XSL:променлива>

    <!--
      Уште една променлива, tableEnd едноставно дефинира затворање табелата таг.

      Како и со tableStart, тоа е секогаш emited.  Ова е причината зошто неговата вредност е
      .
    -->
    <XSL:променлива име="tableEnd">
      <XSL:ако тест="$CurPos = $ Минатата">
        <![CDATA[ </маса> ]]>
      </XSL:ако>
    </XSL:променлива>

    <!--
      Секогаш емитуваат на содржината на tableStart.  Ако ова не е прв
      , тогаш знаеме неговата вредност
      .

      Оневозможи излез избега, бидејќи кога tableStart не го полето празно, тоа
      .  Ако
      , it will generate
      stuff like "&lt;маса&GT;" instead of "<маса>".
    -->
    <XSL:вредност на изберете="$tableStart" disable-излез-бегство="Да"/>


    <tr>
      <!--
      P:Project_x005F_x0020_Name
      :Project_x005F_x0020_End_x005F_x0020_Date
      :Project_x005F_x0020_Budget
      :Project_x005F_x0020_Expenses
      :Project_x005F_x0020_Status
      -->
      <td>
        <XSL:вредност на изберете="@ Project_x005F_x0020_Name"/>
      </td>

      <td усогласување на="право">
        <XSL:вредност на изберете="@ Project_x005F_x0020_End_x005F_x0020_Date"/>
      </td>

      <td усогласување на="право">
        <XSL:повик-дефиниција име="formatcurrency">
          <XSL:со-Парам име="вредност" 
изберете="@ Project_x005F_x0020_Budget"></XSL:со-Парам> </XSL:повик-дефиниција> </td> <td усогласување на="право"> <XSL:повик-дефиниција име="formatcurrency"> <XSL:со-Парам име="вредност" изберете="@ Project_x005F_x0020_Expenses">
</XSL:со-Парам> </XSL:повик-дефиниција> </td> <td> <XSL:вредност на изберете="@ Project_x005F_x0020_Status"/> </td> <!-- Сите од следниве е коментира надвор да се разјаснат работите. Сепак, да се вратиме и работи го во <td> да ја видиме нејзината         . --> <!-- <div id="linkitem" class="item"> <XSL:if test="string-length($SafeImageUrl) != 0"> <div class="image-area-left"> <a href="{$SafeLinkUrl}" target="{$LinkTarget}"> <img class="image-fixed-width" src="{$SafeImageUrl}"
alt="{@ ImageUrlAltText}"/> </на> </div> </XSL:ако> <div class="link-item"> <XSL:повик-дефиниција
name="OuterTemplate.CallPresenceStatusIconTemplate"/> <a href="{$SafeLinkUrl}"
target="{$LinkTarget}" title="{@ LinkToolTip}"> <XSL:value-of select="$DisplayTitle"/> </на> <div class="description"> <XSL:value-of select="@Description" /> </div> </div> </div>
--> </tr> <!-- Емитуваат на завршната табела таг. Ако ние не сме на последниот ред, ова ќе биде празна. --> <XSL:вредност на изберете="$tableEnd" disable-излез-бегство="Да"/> </XSL:дефиниција> <XSL:дефиниција име="formatcurrency"> <XSL:престанат име="вредност" изберете="0" /> <XSL:вредност на изберете="формат-број($вредност, "$DDD,ДДД,DDD.DD", "staff")" /> </XSL:дефиниција>

Стандард WSS / Мос внес на податоци екрани не поддржуваат Cascading зависници-падови (или други интра-од комуникацијата)

Ажурирање (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/

Неколку пати неделно, ако не секојдневно, forum users describe a requirement that would normally be met via cascading drop-downs. На пример, Имам две паѓачката контроли:

  • Листа на U.S. држави
  • Листа на U.S. cities.

As responsible UI providers, we want it to operate like this:

  • Paul selects a U.S. state from the drop-down.
  • This causes the cities drop-down to filter only those cities that belong to the selected state.
  • Paul selects a city from this filtered list.

There is no out-of-the-box support for this feature. Всушност, there is no OOB support for any kind of direct intra-form communication. This includes programmatically hiding/enabling/disabling fields in response to field changes elsewhere on the form.

The real objective of this article to to describe possible solutions and these are the options as I know them:

  1. Develop a custom column type. As a custom-column-developer, you have full control over the "world" of that custom column. You can implement a cascading drop-down that way.
  2. Consider using workflow. In some cases, you want to automatically assign a value to field based on another field’s value. Во овој случај, you would normally try to use a calculated column, but some times, it just won’t get the job done. SharePoint Designer workflow is a relatively administer-friendly alternative to dropping down into code and visual studio. If you go this route, be aware of the issue addressed by овој член (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. Event handlers: Like workflow, this is an after-the-fact solution. Your event handler is a .NET assembly (C #, VB.NET) to which SharePoint passes control. The object you develop has access to the data of the list (and the whole object model) и можат да прават сите потребни пресметка.
  4. Use SharePoint Designer to create custom entry forms. I don’t have direct experience with this approach, но слушам дека прават добри работи со NewForm.aspx овие денови 🙂
  5. Се тркалаат свој ASP.NET податоци влез функција (како самостојна веб-страница или како веб дел) и ја користат таа наместо.

Ако некој знае други и / или подобри опции, Ве молиме да објавувате коментар и јас ќе се ажурира на телото на овој пост.

<крај />

Technorati Тагови:

Yes/No (наога) филтрирање во содржина барањето Веб Дел

To filter for a query for the Yes/No check box entitled "PG Milestone", конфигурирате CQWP вака:

сликата

Ова е уште еден од оние очигледни-еднаш-ти-знам-тоа, но тешко-да-најдам-на-одговор-на прашања: Како да се филтрираат на Да / Не наога користење на содржината на Барањето веб дел.

Првиот резултати од пребарувањето I find using the search term "filter yes/no content query web part" е рамен од погрешно, па мислев дека сум го стави ова до таму и види дали може да го замени неправилна резултат во типичен резултатите од пребарувањето.

Тоа е сосема лесно: True values = "1" and false values do not equal "1" (прилично ретро, всушност).

Во примерот погоре, I created site column of type "Yes/No (квадратчето)" named "PG Milestone". I added it to a doc library, подигнале неколку документи, Поставете ја вредноста за неколку и тестирани тоа.

<крај />