הצגת תוצאות חלק אינטרנט של שאילתת תוכן ברשת / טבלה

מבט כולל על וחשיבה אובייקטיבית

מחוץ לקופסה, מוס’ Web Part של שאילתת תוכן (CQWP) מציג את התוצאות שלה בתבנית רשימה, דומה על תוצאות חיפוש. זה גם אפשרי להציג את התוצאות בתבנית רשת (כלומר. טבלת html). תבניות רשת טובים יותר בנסיבות מסוימות. אתאר כיצד להגיע לתוצאה זו במאמר זה.

תרחישים עסקיים

עבדתי עם לקוח על ההשקה מוס הארגון. עיצבנו את הטקסונומיה שלהם כך פרויקטים אזרחים מהשורה הראשונה בהירארכיה, יש האתר ברמה העליונה שלהם. מנהלי פרוייקטים לשמור על רשימה סינגלטון של מידע סיכום הפרויקט, כגון כותרת, תקציב, תאריך הסיום הצפוי, עלות תקציב ושדות אחרים סוג הסיכום. על ידי "סינגלטון" כלומר רשימת SharePoint מותאמות אישית מובטחת להכיל פריט אחד בלבד. בצורה פשטנית, זה נראה כך:

התמונה

הגישה הטכנית דומים במידה רבה כפי שמתואר כאן (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP משתמשת שינוי XSL לפלוט HTML עבור הדפדפן לעיבוד.

אני תמיד לדמיין את התוצאה לפני הצלילה ה-XSL כי XSL היא סיוט. . הנה את התוצאה הרצויה:

התמונה

HTML כמו זה יוצר תוצאה זו:

<html>
 <הגוף>
 <מרכז>
 <טבלה גבול= 1>

<!-- תוויות –>
 <. tr צבע רקע= כחול>
 <td><גופן צבע= לבן><b>שם פרוייקט</b></גופן></td>
 <td יישור= מימין><גופן צבע= לבן><b>לתאריך הושלמה</b></גופן></td>
 <td יישור= מימין><גופן צבע= לבן><b>תקציב</b></גופן></td>
 <td יישור= מימין><גופן צבע= לבן><b>הוצאות בפועל</b></גופן></td>
 <td><גופן צבע= לבן><b>המצב הכללי</b></גופן></td>
 </. tr>

<. tr>
 <td>Re-wire חדר מחשבים.</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. יצירת אתרי משנה עבור פרוייקטים ורשימות סינגלטון.
  4. הוסף את CQWP לדף אינטרנט והגדר אותו לחיפוש אחר הרשימות שלך.
  5. שנה של CQWP XML כדי לאסוף את עמודות נוספות.
  6. שנה את ה-XSL ליצירת טבלה.

. אני הולך להתרכז במספר שש. מספרי אחד עד ארבע הם ישר קדימה ומשהו כל משתמש CQWP כבר עשה. מספר חמש היה מתועדת היטב על-ידי אחרים כולל מאמר ממצה של לאדן צילום מסך מתוך MSDN כאן (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) ובלוגים הת'ר שלמה כאן (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

עלון

להתחיל וליישם את שלבים אחת עד חמש לפי התיעוד 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 ו על היפוך למאמר של הת'ר שלמה. בצע את השלבים שלה מתחיל ליד שלב #5 כדי ליצור מותאם אישית / גרסה unghosted של ItemStyle.xsl. עצתו של הת'ר, דרך שלב 11 ולקבל תוצאות ביניים אלה:

4.1: שם אזור תבנית XSL כדלקמן:

<xsl:שם התבנית = "ברשת" להתאים = "שורה[@Style = 'רשת']" מצב = "itemstyle">

ניתן לשנות אותה הציע גם מעט <xsl:עבור-כל …> על-ידי הוספה <br /> תג כדי לספק רישום כלי הניקוי:

    <xsl:עבור-כל בחר="@*">
      P:<xsl:הערך בחר="שם()" /><br/>
    </xsl:עבור-כל>

4.2: ניתן לשנות את ה-web part, עבור אל המראה ובחר שלי ברשת"" סגנון:

התמונה

להחיל את השינוי, הרי התוצאה:

התמונה

נוכל לראות לעיל כי השדות אנחנו רוצים (שם פרוייקט, הוצאות, מצב, ועוד) זמינים עבורנו לשימוש כאשר אנחנו פולטים את ה-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:כאשר מבחן="@ סגנון = 'NewsRollUpItem'">
        <xsl:החלת תבניות בחר="." מצב="itemstyle">
          <xsl:עם param שם="EditMode" בחר="$cbq_iseditmode" />
        </xsl:החלת תבניות>
      </xsl:כאשר>
      <xsl:כאשר מבחן="@ סגנון = 'NewsBigItem'">
        <xsl:החלת תבניות בחר="." מצב="itemstyle">
          <xsl:עם param שם="CurPos" בחר="$CurPosition" />
        </xsl:החלת תבניות>
      </xsl:כאשר>
      <xsl:כאשר מבחן="@ סגנון = 'NewsCategoryItem'">
        <xsl:החלת תבניות בחר="." מצב="itemstyle">
          <xsl:עם param שם="CurPos" בחר="$CurPosition" />
        </xsl:החלת תבניות>
      </xsl:כאשר>

      <!--
              המיקום הנוכחי של מעבר, lastrow לתבנית itemstyle.xsl ברשת.
              ItemStyle.xsl ישתמש בו לפלוט פתיחה וסגירה <טבלה> תגים.
      -->
      <xsl:כאשר מבחן="@ סגנון = 'רשת'">
        <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 מחוץ להגדרת תבנית המאפשרת "formatcurrency" תבנית לעבודה. (באפשרותך לדעת שיש לי נקודת אחיזה רפים ב- XSL).

הראשונה, ליד החלק העליון של ItemStyle.xsl, הוסף את השורה:

  <!-- כמה ג'מבו mumbo אשר מאפשרת לנו להציג את ארה. מטבע. -->
  <xsl:תבנית עשרונית שם="סגל" ספרה="יח" />

  <xsl:תבנית שם="ברירת מחדל" התאמה="*" מצב="itemstyle">

הערה כי הוספתי אותו ישירות לפני <xsl:שם התבנית = "ברירת מחדל" …> הגדרה.

הבא, לחזור לתבנית הרשת שלנו. להחליף את התבנית לרשת כולה עם הקוד שלהלן. זה ביסודיות, הוא הגיב, אך אל תהסס שלח לי דוא ל או להשאיר הערות על הבלוג שלי, אם יש לך שאלות.

  <xsl:תבנית שם="רשת" התאמה="שורה[@ סגנון = 'רשת']" מצב="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:משתנה שם="LinkTxslet">
      <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 = "כחול">
            <td><צבע גופן = "לבן"><b>שם פרוייקט</b></גופן></td>
            <td ליישר = "זכות"><צבע גופן = "לבן"><b>לתאריך הושלמה</b></גופן></td>
            <td ליישר = "זכות"><צבע גופן = "לבן"><b>תקציב</b></גופן></td>
            <td ליישר = "זכות"><צבע גופן = "לבן"><b>הוצאות בפועל</b></גופן></td>
            <td><צבע גופן = "לבן"><b>המצב הכללי</b></גופן></td>
          </. 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" בטל-פלט-בריחה="כן"/>


    <. 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
      -->
      <td>
        <xsl:הערך בחר="@ Project_x005F_x0020_Name"/>
      </td>

      <td יישור="מימין">
        <xsl:הערך בחר="@ Project_x005F_x0020_End_x005F_x0020_Date"/>
      </td>

      <td יישור="מימין">
        <xsl:תבנית קריאה שם="formatcurrency">
          <xsl:עם param שם="ערך" 
בחר="@ Project_x005F_x0020_Budget"></xsl:עם param> </xsl:תבנית קריאה> </td> <td יישור="מימין"> <xsl:תבנית קריאה שם="formatcurrency"> <xsl:עם param שם="ערך" בחר="@ Project_x005F_x0020_Expenses">
</xsl:עם param> </xsl:תבנית קריאה> </td> <td> <xsl:הערך בחר="@ Project_x005F_x0020_Status"/> </td> <!-- כל הפעולות הבאות כהערות להבהיר את פני הדברים. עם זאת, להחזירן, ודחס אותו לתוך <td> כדי לראות את השפעתו. --> <!-- <div id = "linkitem" class = "פריט"> <xsl:אם בדיקת = "מחרוזת באורך($SafeImageUrl) != 0 "> <div class = "תמונת-שטח-שמאל"> <href = "{$SafeLinkUrl}" היעד = "{$LinkTxslet}"> <img class = "תמונת-ברוחב קבוע" src = "{$SafeImageUrl}"
alt = "{@ ImageUrlAltText}"/> </של> </div> </xsl:אם> <div class = "קישור-פריט"> <xsl:תבנית קריאה
name="OuterTemplate.CallPresenceStatusIconTemplate"/> <href = "{$SafeLinkUrl}"
היעד = "{$LinkTxslet}" כותרת = "{@ LinkToolTip}"> <xsl:הערך של בחר = "$ DisplayTitle" /> </של> <div class = "תיאור"> <xsl:הערך של select="@Description" /> </div> </div> </div>
--> </. tr> <!-- לפלוט סגירת תג של טבלה. אם אנחנו לא נמצאים בשורה הראשונה, זה יהיה ריק. --> <xsl:הערך בחר="$tableEnd" בטל-פלט-בריחה="כן"/> </xsl:תבנית> <xsl:תבנית שם="formatcurrency"> <xsl:param שם="ערך" בחר="0" /> <xsl:הערך בחר='עיצוב מספר($ערך, "$ DDD,DDD,DDD.DD", "צוות")' /> </xsl:תבנית>

22 מחשבות על "הצגת תוצאות חלק אינטרנט של שאילתת תוכן ברשת / טבלה

  1. אנדריאס

    להתרגשות עצומה… זה היה כי שם אזור סגנון רשימה שונה ואני לא הספיקה להבין כי ב- ContentQueryMain.xsl הוא יבדוק "סגנון":

    <xsl:כאשר test="@Style='NameOfMyStyle'">

    עם זה שמה זה עבד. 🙂

  2. אנדריאס

    זה כמעט עבד בשבילי: אני מצליח להוציא פלט </טבלה> לסיים כראוי תג, אך חסר תג התחלה. נראה המבחן = "$ CurPos = 1" אינה מחזירה true. אבל למה?

  3. אנאנד סינג ראוואט

    פוסט מעולה. פול עשיתי את כל הדברים לעיל. יש לי שאילתה, כיצד יכולה אני achive את הסכום של הכנסות (הוצאות "סה כ בפועל)" או סכום של הערך של שתי עמודות.

  4. ליסה

    עשית עבודה עם יצירת קבצי xsl מותאמים אישית של ContentQueryMain ו- ItemStyle? אני אומר הוא לא רוצה לדאוג שלי סגנונות מותאמים אישית החלפה עם כל תיקונים או שדרוגים. האם יש לך דוגמאות? ניסיתי הפיכת עותק זהה של ContentQueryMain.xsl וטעינת עותק זה מותאם אישית חדש לספריית סגנון. כשאת הפניה לקובץ xsl זה במאפיין MainXslLink של .webpart, אני מקבל 401 לא מורשה. קובץ xsl מותאמים אישית הגירסה שפורסמה, לכולם יש גישת קריאה אליו.

  5. גרג שרידן

    היי, זו היתה הצעת לעזור. יש לי אותו כל עבודה, ושינוי בראון מייק מיושמים גם כך הוא מקבץ
    התוצאות בתוך הטבלה על-ידי מה אבחר כפרמטר קבץ לפי מאפיינים של CQWB.
    עשיתי הכותרת קישור גם, כך זה עובד יפה. עדיין יש לי בעיה אחת, למרות. אני אני מקבץ את התוצאות לפי שם האתר. בתוך הטבלה, הוא מקבץ אותם יפה, וזה נראה נהדר, אבל עדיין הדפסה החוצה הקבוצה
    שמות(במקרה שלי שמות האתרים) מעל לטבלה. האם כל אחד יודע כיצד להיפטר אלה?
    תודה,
    גרג

  6. ללא שם

    מאמר נחמד. הצלחתי לתת לטבלה שלי את המראה של רשימות Sharepoint המשמש כברירת מחדל על-ידי ניתוח קוד המקור של הרשימה. כאן הם אבני HTML הראשי לצורך כך שיתאים ItemStyle:

    <רוחב הטבלה = "100%" class = "ms-listviewtable" גבול = 0 cellspacing = 0 cellpadding = 1 dir = "ללא">

    <!–כותרת עליונה–>
    <TR class = "ms-viewheadertr" יישור אנכי = העליון>
    <טווח ללא גלישה תאנון = "col" class = "ms-vh2"><סגנון div = "רוחב:100%;מיקום:יחסי;משמאל:0;העליון:0;">
    <סגנון טבלה = "רוחב:100%;" CtxNum = "1" גובה = "100%" cellspacing = 1 cellpadding = 0 class = "ms-unselectedtitle">
    <. TR>
    <רוחב TD = "100%" Class = "ms-vb" ללא גלישה>
    ה-Texte du titre ici

    </TD>
    <סגנון TD = "מיקום:מוחלט;">
    </TD>
    </. TR>
    </טבלה></div>
    </TH>

    <!–חזור על כל תאי כותרת–>
    </. TR>

    <!– נתוני טבלה –>
    <TR class = "">
    <!–עמודת נתונים, השתמש בקוד של פול אחד הראשון עם היפר-קישור –>
    <TD Class = "ms-vb2">נתונים כאן</TD>

    <!–עמודה ריקה–>
    <TD Class = "ms-vb2">
    <span dir = אף אחד></טווח><
    /TD>

    <!–עמודת התאריך–>
    <TD Class = "ms-vb2">
    <NOBR>11/12/2008</NOBR>
    </TD>
    </. TR>

    <!–***שורות חלופיות – משתמשים במשתנה XSL חדש שלא יוסיף את המחלקה חלופי מבוסס על השורה הנוכחית מודולו 2–>
    <TR class = "מתחלפים ms">

    </. TR>
    </טבלה>

  7. מייק בראון
    אורי,
    עבדתי באותו עניין כמוך. . רציתי את כל הפריטים המוצגים בצורה מקובצת ולא רק של lits. הנה איך השגתי את זה.
    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>
    <td >
    <xsl:name="OuterTemplate.GetGroupName שיחת תבנית">
    <xsl:עם param שם = "שם קבוצה" select="@*[שם()= קבוצה $]"/>
    <xsl:שם עם param = "GroupType" בחר "$ GroupType" = />
    </xsl:תבנית קריאה>
    </td>
    </. tr>
    </xsl:כאשר>
    <xsl:אחרת>
    </xsl:אחרת>
    </xsl:בחר>
    זה אמור לטפל. את הבעיה קיבוץ ברשת שלך. כל קבוצה מתחילה עם שורה חדשה המציינת את שם הקבוצה. בפתרון שלי הוספתי למעשה ריק <td /> נתונים כדי להסיט אותו כל כך גם הקיבוץ בלטו הרבה יותר טוב.
    Site1
    datacolumn1 datacolumn2 datacolumn3 ועוד

    datacolumn1 datacolumn2 datacolumn3 ועוד
    Site2
    datacolumn1 datacolumn2 datacolumn3 ועוד
    Site3

    datacolumn1 datacolumn2 datacolumn3 ועוד

    datacolumn1 datacolumn2 datacolumn3 ועוד
    ועוד.
  8. אורי
    שלום פול,
    תודה פוסט, הצלחתי לארגן את תוצאות השאילתה שלי ברשת, איזו היא עוזרת מאוד. עם זאת, אני צריך להמשיך הלאה וקיבוץ תוצאות שלי מבוסס על אתרים. באותו הרגע, שמות האתרים יופיעו ראשונות, ולאחר מכן יש לאסוף את כל השורות מאתרים שונים ברשת גדול אחד בלבד. משהו כמו זה:
    שם Site1
    שם Site2
    הנתונים ברשת עבור כל האתרים
    יש לך רעיונות על מה אני צריך לשנות כדי לקבל את הנתונים שלי כדלקמן:
    שם Site1
    הנתונים ברשת עבור Site1
    שם Site2
    הנתונים ברשת עבור Site2
    תודה מראש,
    אורי
  9. פייר ג'וברט
    פוסט נפלא, פתר לי את הבעיה שלי.
    הבעיה היחידה שלי היא להציג את השדה AssignedTo, ניתן להגדיר את זה עם המשתמש"" סוג השדה ואת רכיב webpart המיובאים יציג את הודעת השגיאה הבאה:
    "אירעה שגיאה בעת אחזור נתונים כדי להציג ב- Web Part זה."
    ניסיתי באמצעות כל סוגי השדות האפשריים, עם כל דבר אחר, אותו משתמש"" הוא לא יציג את השגיאה, . אבל זה לא מציג שום דבר בשטח. אז אני מניח לסוג שדה משתמש נכונה, אז אני בטח מפספס הגדרה איפשהו.
    יש לך רעיונות על זה?
    ברכות
    פייר
  10. Charftong
    פוסט מעולה!!! עוזרת מאוד מאוד.
    שאלה מהירה, עשית עבודה על הצגת השדות AssignedTo או ModifiedBy עם נוכחות? מסיבה כלשהי, בכל פעם אני מנסה dipslay השדה הקצאה ל CQWP, הוא מציג תמיד כדוגמה "203;#Charf טונג". אני לא מוצאת דרך להתגבר על זה.
  11. ג'ניפר דייוויס
    פול
    מאמר נהדר, תודה. אני עושה משהו דומה מאוד אך ברצונך להציג קישור אל אתר הפרוייקט במקום פריט ברשימה. לדוגמה, יש לנו 25 אתרי פרוייקט ברמה העליונה וכל יכיל רשימה עם סוגי תוכן. אלה הם שם פרוייקט, החטיבה, תיאור. אני רוצה להשתמש ה-web part של שאילתת תוכן כדי למשוך נתונים אלה הצליחו מלבד העובדה כברירת מחדל כתובת ה-URL לוקח לי ערך הפריט ברשימה אני באמת זקוק לו לקחת אותי לאתר פרוייקט. אתה מוכן לתת לי כל עצה?
    תודה
    Jen
  12. פול Galvin
    קירן,
    אני תמיד להשתמש visual studio כדי לערוך את ה-XSL. זה מספק קודי הצבע, יש לו גם קצת תמיכה intellisense טוב.
    –פול
  13. כתב Kieran:

    פול הי,

    בעת עבודה עם ה-web part של שאילתת 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. סאג'י Ijiyemi

    ההודעה שלך. זה בדיוק מה שחיפשתי. עם זאת, אני לא יכול לגרום לזה לעבוד.

    יש לי מסמכים המאוחסנים ב דוק שונים. ספריות אבל מסווג באמצעות עמודה במחלקה מותאמת אישית (הבחירה: 1 או 2. אני רוצה להשתמש CQWP כדי להציג מסמכים אלה בהתבסס על השיעור שלהם.
    הייתי מסוגל להוסיף את CQWP, היצוא שלה ל- SPD, להגדיר את itemStyle.xls כדי להציג שדות מותאמים אישית בתצוגת רשימה. עם זאת, אני יכול לא מיישמים בהצלחה מה שאתה מתאר כאן.

    אלה הם הטורים שאני מעוניין להציג את CQWP שלי:

    סוג קובץ (כדי להציג סמל)
    כותרת קובץ
    תאריך השינוי האחרון
    השתנה על-ידי מי
    הוצאה מאחסון
    נרשמו הערות

    כרגע יש לי התוצאה בתבנית רשימה. כיצד ניתן לשנות אותו לתבנית talble.

    תודה.

    סאג'י

תשאיר הודעה

כתובת האימייל שלך לא תפורסם. שדות חובה מסומנים *