English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

איך לבצע Join/Merge לשתי רשימות ולבצע תצוגה משותפת.

חישבו לעצמכם כמה נחמד זה אם היינו יכולים ליצור תצוגה של שתי רשימות או יותר כאשר אנחנו מקשרים את הרשימות בעזרת שדה משותף כלשהו...
למעשה אם נאפיין מראש ובצורה נכונה את מבנה הרשימות של אתר ה SharePoint שלנו נגיע למבנה רשימות שמזכיר לגמרי מבנה נתונים רלציוני או בקיצור RDBMS.

מה שאומר שיש לנו את היכולת בעזרתו המופלאה של ה SharePoint Desiner לבצע שאילתות SQL ללא קוד.

שתי השאילתות הן:

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name

או

SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2
איך ליצור Linked Data source:
נפתח את ה SharePoint Desiner נקליק על data sources (מסומן ב 1) וניבחר Linked Data source (מסומן ב 2).
לאחר לחיצה על Linked Data source יפתח החלון הבא:

ניבחר ב Configure Linked Source ומהחלון שניפתח ניבחר את הרשימות שנירצה לחבר:



נקליק על NEXT וניראה את החלון הבא:
לפנינו שתי אפשרויות:
  • Merge - שמאפשר לנו בדיוק כמו ב SQL לבצע UNION ALL (כפי שמודגם למעלה), חשוב שבמקרה הזה יהיו לנו אותן השדות בשתי הטבלאות.
  • Join - שמאפשר לנו בדיוק כמו ב SQL לבצע INNER JOIN (כפי שמודגם למעלה), ובמקרה הזה חשוב שיהיה לנו שדה משותף שנוכל להשוות אותו.
בלחיצה על Finish נגיע לחלון האחרון, בלשונית GENERAL נעניק שם למקור נתונים:



בלשונית Source-->Source-->Edit-->Fields נוכל לבחור איזה שדות יופיעו לנו בDesigner.



בהדגמה בהמשך אני יתייחס לאפשרות השנייה שהיא JOIN מהסיבה שהיא יחסית "מורכבת יותר".


יצירת תצוגה של שתי רשימות בעזרת שימוש ב Linked Data source:

לאחר שהגדרנו את מקור הנתונים ניצור את התצוגה. בשלב הראשון ניצור עמוד חדש ב Designer.
ניתן ליצור עמוד ASPX או עמוד WebPart.



בעריכת העמוד נוסיף Empty Data View או שניבחר את ה Data View  שיצרנו:
בחלון ה Data Source Details ניבחר את השדות שנירצה להציג מהרשימה הראשונה וניבחר ב Multiple Item View.
הנה התוצאה לאחר שהוספתי עמודה נוספת (חשוב מאוד להמשך):
הפעם ניבחר שדות מהרשימה השנייה וכשסמן העכבר בתוך העמודה החדשה שהוספנו ניבחר את השדות מהרשימה השנייה והפעם ניבחר ב Joined SubView:
לאחר ההקלקה על Joined SubView יפתח חלון שיבקש את השדות המקושרים, ניבחר שדה מכל רשימה.


והתוצאה:




העיצוב:

בשלב האחרון נירצה לעצב את התצוגה שתיראה קצת יותר מסודרת. כל שעלינו לעשות זה:
  • לעבור לתצוגה מפוצלת ב Designer. לסמן את השדה של הכותרת בטבלה ולמחוק אותו בשורת הקוד.



  • לסמן את השורה הריקה בטבלה ולמחוק את התוכן שלה בשורת הקוד, התוכן יראה כך:  




והתוצאה הסופית:

 


להתראות בפעם הבאה,

חיים.

פריט לא ניתן למחיקה\עידכון - הודעת Read Only

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



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

אז הנה פתרון מבית היוצר שלי...

בשלב הראשון פתחתי את תפריט הרשימה ובחרתי ב Compiance Details כדי לקבל מידע נוסף שיעזור בפתרון התקלה.


בחלון שניפתח קיבלתי את הפרטים הבאים, השורה שמסומנת בחץ קירבה אותי לפתרון.



והפתרון:
ניכנס ל List Settings ומשם ל Record declaration settings:


בחלון ההגדרות שיפתח נשנה את ההגדרות ל: Always allow the manual declaration of records:




נחזור ל תפריט הרשימה ונחר שוב ב Compiance Details, הפעם ניראה שינוי בשורת ה Record Status:




נילחץ על ה Undeclare record, נסגור את החלון ונמחק את הרשומה - הפעם היא תימחק.

להתראות בפעם הבאה,
חיים.


כיצד להוסיף כפתור מותאם אישית בסרגל ה Ribbon

שלום לכם...

לפעמים בפיתוח ויישום אתר Sharepoint אנחנו רצים מהר מידי בלי לחשוב רגע על הדרך הנכונה לתוצאה.
ואם אתם סקרנים מדוע אז אספר לכם...השבוע קיבלתי מייל מאחד הקוראים של הבלוג. כשראיתי את כתובת השולח ישר זיהיתי -  מכר ותיק שהפגיש אותי לראשונה עם SharePoint.
כששוחחנו קצת בטלפון הוא סיפר שהוא שכר מפתח .net כדי שיוסיף לאתר ה SPS שלו כפתורים. השאלה הראשונה ששאלתי הייתה, מה תפקידם? מה הם אמורים לעשות?
לא אלאה אתכם ביותר מזה...אבל הוא בזבז כסף על משהוא שהוא היה מסוגל לעשות לבד.

במאמר הבא תקבלו הסבר מפורט כיצד להוסיף כפתורי פעולה מותאמים אישית לסרגל ה RIBBON (רצועת הכלים).




את כפתורי הפעולה ניתן למקם בסרגל ה Ribbon של:
  • רשימה.
  • טופס פריט חדש של רשימה.
  • טופס עריכה של פריט ברשימה.
  • טופס תצוגה של פריט ברשימה.

כפתורי הפעולה יכולים לבצע את הפעולות הבאות:

  • ניווט לטופס.
  • הפעלת זרימת עבודה.
  • ניווט לכתובת URL

  1. ניפתח את ה SharePoint Designer וניבחר ברשימה שאליה נירצה להוסיף כפתור מותאם אישית.
  2. לאחר בחירת הרשימה יפתח לנו חלון חדש עם מאפייני הרשימה.
  3. נילחץ על "פעולות מותאמות אישית"  (מסומן ב 1)

  1. במסך החדש שניפתח נילחץ על "פעולה מותאמת אישית".
  2. בתפריט המשנה שיפתח ניבחר את מיקום הכפתור כפי שהוסבר בתחילת המאמר.


  1. בחלון שיפתח נזין שם, תיאור(לא חובה) וניבחר את סוג הפעולה:


ניתן להזין הגדרות מתקדמות באותו החלון ממש...אם רק נגלול מעט מטה:


באפשרויות המתקדמות ניתן להוסיף אייקון - מומלץ בגודל 32X32 אם כי ניתן גם בגודל 16X16 (אבל זה יהיה קטן מידי).
בשדה "מסיכת זכויות" ניתן לקבוע איזה משתמשים יוכלו להשתמש בלחצן - על כך במאמר אחר.
שדה "מספר רצף" מאפשר לנו לסדר את הכפתורים הסרגל בסדר שאותו ניבחר - פשוט מספרו את הכפתורים בסדר המבוקש.


להתראות בפעם הבאה...
ותחשבו טוב על הדרך למטרה מסתבר שלפעמים יש דרך קצרה, יעילה ומהירה יותר.


חיים.

איך להציג שערי מטבע מעודכנים ב SharePoint

שלום לכם,

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

הרעיון העיקרי הוא לשאוב מידע מעודכן בתצורת XML, לעצב אתו בעזרת XSL ולבסוף להציג אותו בעזרת WebPart.


  1. בשלב הראשון עלינו למצוא אתר שמספק שערי מטבע בתצורת XML, אני השתמשתי באתר של בנק ישראל שמספק שערי מטבע ביחס לשקל. כמובן שניתן למצוא אתרים נוספים שמספקים שערים מטבע ביחס למטבעות נוספים. כתובת   ה XML היא:   http://www.bankisrael.gov.il/currency.xml
  2. ניפתח את אתר ה SharePoint שלנו ונגיע לדף שאליו אנחנו רוצים להוסיף את שערי המטבע.
  3. נגיע למצב עריכת דף (פעולות אתר-->עריכת דף) ונוסיף  WebPart בשם 'מציג XML


  1. ניפתח את מאפייני ה WebPart ובשדה 'קישור XML' נזין את כתובת ה XML  (מסומן ב 1 בתמונה המצורפת)           http://www.bankisrael.gov.il/currency.xml



  1. נקליק על עורך ה XSL (מסומן ב 2 בתמונה המצורפת מעלה)
  2. בעורך ה XSL נכניס את הקוד הבא (שמותאם ל XML של בנק ישראל)
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
 <p dir="ltr">Last Update: <xsl:value-of select="CURRENCIES/LAST_UPDATE"/></p>
  <table border="1">
    <tr bgcolor="azure">
      <th>Currency Name</th>
      <th>Currency Code</th>  
      <th>Country</th>
      <th>Rate</th>
    </tr>
    <xsl:for-each select="CURRENCIES/CURRENCY">
    <tr>
      <td><xsl:value-of select="NAME"/></td>
      <td><xsl:value-of select="CURRENCYCODE"/></td>
      <td><xsl:value-of select="COUNTRY"/></td>
      <td><xsl:value-of select="RATE"/></td>
    </tr>
    </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet> 



  1. ניתן לערוך את מאפייני הכותרת ומאפייני ה WebPart בלשוניות מראה, פריסה ומתקדם אם כי זה לא חובה.
  2. ללחוץ על 'אישור'
והנה התוצאה הסופית:



כמובן שניתן לעשות הכל גם דרך ה Designer אם כי לי היה נוח יותר לעבוד ישירות מה SharePoint.

להתראות בפעם הבאה,
חיים.