ใน SharePoint List จะสร้างแถบสี หรือใส่ สัญลักษณ์ให้กับ Column ของข้อมูลที่สนใจได้อย่างไร (SharePoint 2007)

Posted: กันยายน 3, 2010 in Issue Tracking, SharePoint List, Task List
ป้ายกำกับ:, , , ,

          ใน SharePoint List ต่างๆ เช่น Issure Tracking หรือจะเป็น Task List โดยปกติ ก็จะแสดงข้อมูลในฟิลด์ต่างๆ โดยไม่ได้มีลูกเล่นหรือสีสันบ่งบอกความแตกต่างของแต่ละ Item  เราลองมาประยุกต์ใช้ Calculate Column เพื่อทำให้ SharePoint List ของเราสะดวกต่อการดูข้อมูล โดยใช้สีมาเป็นตัวบ่งบอกกันคะ  ดังรูปด้านล่างนี้คะ      
        

                จากตัวอย่าง อธิบายขั้นตอนโดยคร่าวๆ ก่อนนะคะ  Column ที่ถูกแสดงเป็นสัญลักษณ์ หรือข้อความที่ถูก Hightlight พวกนี้ (เช่น Column ที่ชื่อ Traffic Light,Indicator,Font Color และ Background Color) เป็น Calculate Column  โดย Column ที่ใช้ในการกำหนดเป็น Condition คือ Column Priority ที่ไว้บอกความสำคัญของ Issue นั้นๆ โดยที่ Calculate Column  ก็ให้ใส่ Code HTML ที่ต้องการแสดงผล ว่าจะให้แสดงผลเป็นสัญลักษณ์ หรือ เป็นแถบสี จากนั้น เราต้องใส่ Code เพื่อให้ Code HTML นั้นถูกแสดงผลด้วยนะคะ โดยใส่ Code นี้ไว้ที่ Content Editor Web Part คะ โดยให้ใส่ที่ด้านล่างของ List ที่แสดงนะคะ

               งั้นมาดูขั้นตอนโดยละเอียดกันดีกว่าคะ
               1. ไปที่ List ที่ต้องการ เช่น Issue Tracking หรือ Task แล้วกด Settings
               2. กด Create Column เพื่อจะสร้าง Column แบบ Calculate Column
               3. ใส่ Column Name
               4. เลือก The type of information in this column เป็น
- แบบ Traffic light (actually a big bullet!):
                                    =”<DIV style=’font-weight:bold; font-size:24px; color:”&CHOOSE(RIGHT(LEFT
                                        (Priority,2),1),”red”,”orange”,”green”)&”;’>&bull;</DIV>”

                                - แบบ Indicator (reusing the default SharePoint KPI images):
                                    =”<DIV><IMG src=’/_layouts/images/KPIDefault-”&(3-RIGHT(LEFT(Priority,2),1))&
                                        ”.gif’ /></DIV>”

                                - แบบ Font color:
                                    =”<DIV style=’font-weight:bold; font-size:12px; color:”&CHOOSE(RIGHT(LEFT
                                        (Priority,2),1),”red”,”orange”,”green”)&”;’>”&Priority&”</DIV>”

                                - แบบ Background color:
                                    =”<DIV style=’font-size:12px; background-color:”&CHOOSE(RIGHT(LEFT
                                       (Priority,2),1),”red”,”orange”,”green”)&”;’>”&Priority&”</DIV>”

                6. กด OK                
                7. จากนั้น Add Web Part ที่ชื่อ Content Editor Web Part ลงไปที่หน้าที่แสดงผลของ List โดยไปที่
                      Site Actions > Edit Page
                8. กด Add a Web Part ที่ชื่อ  Content Editor Web Part ซึ่งอยู่ในหมวด Miscellaneous
                9. นำ  Content Editor Web Part ลากมาอยูตำแหน่งส่วนล่างของ List
             10. ที่ Content Editor Web Part กด edit > Modify Shared Web Part
             11. จะปรากฎหน้าต่างด้านขวา ให้เลือก Source Editor… และใส่ Code ด้านล่างลงไป เพื่อให้ Code ที่ใส่ในขั้นตอนที่ 5 
                    ได้ถูกแสดงผลเป็น HTML ได้อย่างถูกต้อง เพราะถ้าไม่อย่างนั้น Calculate Column  ที่ถูกเพิ่มเข้าไปก็จะแสดงใน
                     ส่วน Code เป็น Text ธรรมดา

<script type=”text/javascript”>
//
// Text to HTML
// Feedback and questions: Christophe@PathToSharePoint.com
//
var theTDs = document.getElementsByTagName(“TD”);
var i=0;
var TDContent = ” “;
while (i < theTDs.length) {
try {
TDContent = theTDs[i].innerText || theTDs[i].textContent;
if ((TDContent.indexOf(“<DIV”) == 0) && (TDContent.indexOf(“</DIV>”)
>= 0)) {
theTDs[i].innerHTML = TDContent;
}
}
catch(err){}
i=i+1;
}
//
// ExpGroupRenderData overwrites the default SharePoint function
// This part is needed for collapsed groupings
//
function ExpGroupRenderData(htmlToRender, groupName, isLoaded) {
var tbody=document.getElementById(“tbod”+groupName+”_”);
var wrapDiv=document.createElement(“DIV”);
wrapDiv.innerHTML=”<TABLE><TBODY id=\”tbod”+ groupName+”_\”
isLoaded=\”"+isLoaded+ “\”>”+htmlToRender+”</TBODY></TABLE>”;
var theTBODYTDs = wrapDiv.getElementsByTagName(“TD”); var j=0;
var TDContent = ” “;
while (j < theTBODYTDs.length) {
try {
TDContent = theTBODYTDs[j].innerText || theTBODYTDs
[j].textContent;
if ((TDContent.indexOf(“<DIV”) == 0) && (TDContent.indexOf
(“</DIV>”) >= 0)) {
theTBODYTDs[j].innerHTML = TDContent;
}
}
catch(err){}
j=j+1;
}
tbody.parentNode.replaceChild(wrapDiv.firstChild.firstChild,tbody);
}
</script>

             12. กด Save
             13. ในส่วน Layout  ให้ติ๊ก Hidden เพื่อซ่อน Content Editor Web Part นี้
             14. กด OK
             15. กด Exit Edit Mode ที่ด้านบนขวาของ Page

                     เท่านี้ก็เสร็จเรียบร้อยแล้วนะคะ นำไปประยุกต์ใช้กันได้เลยคะ และสำหรับสูตรที่ไว้ใช้ใน Formula ที่ไว้ใช้ใน Calculate Column สามารถไปดูรายละเอียดสูตรอื่นๆได้ที่นี่เลย >> คลิกๆ ที่นี่เลยจ๊ะ

credit : http://blog.pathtosharepoint.com/2008/09/01/apply-color-coding-to-your-sharepoint-lists/

ความเห็น
  1. [...] http://vipnetty.wordpress.com/2010/09/03/sharepoint_list_color/ Another translation, this time in Thai . [...]

  2. witit พูดว่า:

    ผมลองทำตาม blog นี้แล้วก็ยังไม่สามารถทำได้ ซื้ง ยังเป็น =””&Priority&””
    เหมือนเดิมไม่มีไรเปลี่ยนแปลง

  3. Netty Pikunkaem พูดว่า:

    ลองตรวจสอบว่า ตำแหน่งของ Content Editor Web Part ที่ใส่โค๊ดเพื่อให้การแสดงผลเป็นแบบ HTML วางตำแหน่งล่างของ List หรือเปล่าคะ

    ถ้าไม่ได้อย่างไร แจ้งมาได้นะคะ จะได้แคปเจอร์หน้าจอโดยละเอียดให้คะ

  4. witit พูดว่า:

    ขอบพระคุณอย่างสูงครับ
    ตามที่คุณ Netty ได้แนะนำมาได้ลองนำ CEWP ไปวางตำแหน่งล่างของ list ก็ยังไม่ได้ ถ้าไม่เป็นการรบกวนขอความกรุณา ช่วย Capture หน้าจอ มาลองทำตามด้วยครับ

    • Netty Pikunkaem พูดว่า:

      เดี่ยวคืนนี้จะส่งทางเมล์ให้นะคะ ^^

    • Netty Pikunkaem พูดว่า:

      ส่งทางเมล์ให้เรียบร้อยแล้วนะคะ ลองตรวจสอบดูคะ

  5. ออย พูดว่า:

    คุณ Netty คะ
    รบกวนขอไฟล์ที่คุณ Netty ได้ capture หน้าจอส่งให้คุณ Witit ด้วยได้ไม๊คะ
    ลองทำตาม แล้วเจอปัญหาเดียวกันค่ะ คือ ยังขึ้นเป็น text อยู่

    • Netty Pikunkam พูดว่า:

      ได้คะคุณออย รอรับทางเมล์ได้เลยนะคะ

      เนต

  6. tig พูดว่า:

    คุณ Netty คะ
    รบกวนขอไฟล์ที่คุณ Netty ได้ capture หน้าจอส่งให้คุณ Witit ด้วยได้ไม๊คะ
    ลองทำตาม แล้วเจอปัญหาเดียวกันค่ะ คือ ยังขึ้นเป็น text อยู่ ขอบคุณล่วงหน้าค่ะ

  7. Netty Pikunkam พูดว่า:

    รอรับทางเมล์ได้เลยนะคะ ^^

  8. kapeak พูดว่า:

    คุณ Netty
    ผม Test ทั้งวันเลย ทำไม่ได้ครับ อยากทำได้

    ส่งเมล์ให้หน่อยครับ ขอบพระคุณมากครับ

    • Netty Pikunkam พูดว่า:

      ต้องขออภัยทึ่ตอบกลับช้านะคะพอดีติดอบรมและงานด่วนทั้งอาทิตย์
      ไม่ทราบว่าทำได้หรือยังคะ. เดี๋ยวจะส่งเมล์ไปให้วันนี้นะคะ

      Netty

  9. prachum พูดว่า:

    คุณ Netty ครับ
    ผมรบกวนขอ File เหมือนกันครับ กำลังหัดทำเหมือนกันครับ

    ขอบคุณมาก ๆ ครับ

    • Netty Pikunkam พูดว่า:

      ส่งเมล์ให้แล้วนะคะ ลองดูคะ ^^

      Netty

  10. วุธ พูดว่า:

    ทำไม่ได้เหมือนกันครับ รบกวนขอด้วยครับ

    • Netty Pikunkam พูดว่า:

      ส่งเมล์ให้แล้วนะคะ ลองดูนะคะ ^^

      • วุธ พูดว่า:

        ได้แล้วนะครับ ท่าทาง code java script ที่ post ไว้จะผิดอ่ะครับ ถามอีกนิดนึงครับใน sharepoint services 3.0 ไม่มี indicator เหรอครับ เพราะผมลองใส่ไปดูมันไม่เห็นรูปอ่ะครับ

  11. วุธ พูดว่า:

    var theTBODYTDs = wrapDiv.getElementsByTagName(“TD”); var j=0; var TDContent = ” “;

    น่าจะขาดส่วนนี้อ่ะครับ

    • Netty Pikunkam พูดว่า:

      เอ่ เท่าที่ดู โค้ดก็มีบรรทัดนี้นะคะ เนตลองตรวจโดยก๊อปปี้จากหน้าเว็บเนตกับที่ส่งเมล์ไปให้ มันก็เหมือนกันนะ หรือว่าเนตตาลาย 55

  12. Netty Pikunkam พูดว่า:

    เท่าที่ดู sharepoint services 3.0 ไม่มี Indicator นะคะ อ้างอิงตาม http://www.dmcinfo.com/Services/SharePoint-Consulting-Services/SharePoint-Version-Selection.aspx

    • วุธ พูดว่า:

      คุณเนตครับผมอยากจะถามเรื่อง Workflow ของ Sharepoint services 3.0 หน่อยครับ มันต้องเริ่มยังไงบ้างและการใช้งานจะทำยังไงครับ พอดีผมลองสร้างแล้วมันงงอ่ะครับ รบกวนอีกนิดนึงครับ ขอบคุณมากๆครับ

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Connecting to %s