ภาพรวมและวัตถุประสงค์
กล่อง, มอส’ Web part สำหรับแบบสอบถามเนื้อหา (CQWP) แสดงผลของรูปแบบรายการ, คล้ายกับผลลัพธ์การค้นหา. ก็ยังสามารถแสดงผลลัพธ์ในรูปแบบตาราง (อาทิ. รูปแบบตาราง HTML). รูปแบบตารางจะดีกว่าในบางกรณี. ผมอธิบายวิธีการให้บรรลุผลนั้นในบทความนี้.
สถานการณ์ของธุรกิจ
ฉันทำงานกับไคลเอนต์ในการไวร์เลสมอทั่วทั้งองค์กร. เราได้ออกแบบระบบของพวกเขาให้เป็นพลเมืองชั้นหนึ่งในลำดับชั้นโครงการ และมีไซต์ระดับบนสุดของตัวเอง. ผู้จัดการโครงการรักษารายการเดี่ยวของข้อมูลสรุปโครงการ, เช่นชื่อเรื่อง, งบประมาณ, วันสิ้นสุดที่คาดไว้, งบประมาณคงเหลือและเขตข้อมูลอื่นชนิดสรุป. โดย "ซิงเกิลตัน" ผมหมายถึง รายการ SharePoint แบบกำหนดเองที่รับประกันว่า จะประกอบด้วยเพียงรายการเดียว. Simplistically, โดยมีลักษณะดังนี้:
วิธีทางเทคนิคอยู่มากเหมือนกันตามที่อธิบายไว้ ที่นี่ (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP การใช้การแปลง XSL ผาย HTML ในเบราว์เซอร์แสดง.
ฉันวาดภาพเสมอผลก่อนดำลงใน XSL เพราะ XSL เป็นฝันร้าย. นี่คือผลของฉันต้อง:
ผลลัพธ์ที่สร้าง HTML ดังนี้:
<html> <เนื้อความ> <ศูนย์> <ตาราง เส้นขอบ= 1> <!-- ป้ายชื่อ-> <tr bgcolor=สีฟ้า> <td><แบบอักษร สี=ขาว><b>ชื่อโครงการ</b></แบบอักษร></td> <td การจัดตำแหน่ง=ขวา><แบบอักษร สี=ขาว><b>วันเสร็จสมบูรณ์</b></แบบอักษร></td> <td การจัดตำแหน่ง=ขวา><แบบอักษร สี=ขาว><b>งบประมาณ</b></แบบอักษร></td> <td การจัดตำแหน่ง=ขวา><แบบอักษร สี=ขาว><b>ค่าใช้จ่ายจริง</b></แบบอักษร></td> <td><แบบอักษร สี=ขาว><b>สถานะโดยรวม</b></แบบอักษร></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> |
วิธีการ
ทำตามขั้นตอนเหล่านี้เพื่อสร้างตาราง:
- ระบุส่วนประกอบของตาราง (แถว/คอลัมน์).
- กำหนด และสร้างคอลัมน์ของไซต์ที่จำเป็น.
- สร้างไซต์ย่อยสำหรับโครงการและรายเดี่ยว.
- CQWP การเพิ่มหน้าเว็บ และการค้นหารายการ.
- แก้ไข XML ของ CQWP เพื่อรวบรวมค่าคอลัมน์เพิ่มเติม.
- แก้ไข XSL เพื่อสร้างตาราง.
ฉันจะเน้นเลขหก. หมายเลขหนึ่งถึงสี่คือ ตรงไปข้างหน้าและสิ่งที่ผู้ใช้ CQWP แล้วทำ. หมายเลข 5 ได้รับเอกสารเชิญผู้อื่นรวมถึงหมดแรงจอลาเดนบทความนี้จาก 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 การสร้างแบบกำหนดเอง / รุ่น ItemStyle.xsl unghosted. ฉันทำตามคำแนะนำของเฮ, ค่าผ่านขั้นตอน 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:พารามิเตอร์ ชื่อ="CurPosition" /> <!-- เพิ่ม "LastRow" พารามิเตอร์. เราเพียงใช้เมื่อผ่านรูปแบบรายการใน "ตาราง". --> <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:แม่แบบ> |
ความคิดเห็นอธิบายวัตถุประสงค์ของการเปลี่ยนแปลง.
แน่นอน, "OuterTemplate.CallItemTemplate" ตัวเองเรียกว่าจากแม่แบบอื่น. ค้นหาแม่แบบนั้น โดยการค้นหาสายอักขระข้อความนี้:
<xsl:แม่แบบ ชื่อ="OuterTemplate.Body">
เลื่อนผ่านคำสั่งใน OuterTemplate.Body และแทรกพารามิเตอร์ LastRow ดังนี้ (แสดงเป็นข้อคิดเห็นเป็นตัวเอียง):
<xsl:เรียกแม่ ชื่อ="OuterTemplate.CallItemTemplate"> <xsl:มีพารามิเตอร์ ชื่อ="CurPosition" เลือก="$CurPosition" /> <!-- แทรกพารามิเตอร์ LastRow. --> <xsl:มีพารามิเตอร์ ชื่อ="LastRow" เลือก="$LastRow"/> </xsl:เรียกแม่>
หลังจากทั้งหมดนี้, เรามีสิ่งที่ติดตั้งอย่างถูกต้องเพื่อ ItemStyle.xsl ของเราสามารถปล่อยในที่สุด <ตาราง> แท็กที่เหมาะ.
ItemStyle.Xsl
หมายเหตุ: อีกครั้ง, ตรวจสอบใน ItemStyle.xsl หลังจากทำการเปลี่ยนแปลงเพื่อให้คุณเห็นผลการเปลี่ยนแปลงเหล่านั้น.
เรามีงานที่นี่:
- แทนแม่แบบตารางทั้งหมด. คุณสามารถคัดลอก/วางจากด้านล่าง.
- เพิ่มบางจัมโบ้ mumbo นอกกำหนดแม่แบบที่ช่วยให้ "formatcurrency" แม่ทำงาน. (คุณสามารถทราบว่า มีจับ tenuous ใน XSL).
แรก, ใกล้ด้านบนของ ItemStyle.xsl, เพิ่มบรรทัดนี้:
<!-- บางจัมโบ้ mumbo ที่ช่วยให้เราสามารถแสดงอเมริกา. สกุลเงิน. --> <xsl:รูปทศนิยม ชื่อ="พนักงาน" ตัวเลข="D" /> <xsl:แม่แบบ ชื่อ="ค่าเริ่มต้น" ตรงกับ="*" โหมด="itemstyle">
หมายเหตุที่เพิ่มนั้นโดยตรงก่อน <xsl:ชื่อต้น "เริ่มต้น =" …> คำจำกัดความ.
ถัดไป, ย้อนกลับไปยังแม่แบบตารางของเรา. แทนแบบตารางทั้งหมด ด้วยรหัสต่อไปนี้. มีความเห็นอย่างละเอียด, แต่อย่าลังเลที่จะส่ง หรือฝากข้อคิดเห็นบนบล็อกของฉันถ้าคุณมีคำถาม.
<xsl:แม่แบบ ชื่อ="เส้นตาราง" ตรงกับ="แถว[@Style = 'เส้นตาราง']" โหมด="itemstyle"> <!-- ContentMain.xsl ผ่าน CurPos และล่าสุด. เราใช้เหล่านี้อย่างมีเงื่อนไขกิ๊กเปิด และปิด <ตาราง> แท็ก. --> <xsl:พารามิเตอร์ ชื่อ="CurPos" /> <xsl:พารามิเตอร์ ชื่อ="ล่าสุด" /> <!-- ตัวแปรต่อไปนี้เป็น unmodified จาก 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:มีพารามิเตอร์ ชื่อ="ชื่อเรื่อง" เลือก="@Title"/> <xsl:มีพารามิเตอร์ ชื่อ="UrlColumnName" เลือก="'LinkUrl'"/> </xsl:เรียกแม่> </xsl:ตัวแปร> <xsl:ตัวแปร ชื่อ="LinkTarget"> <xsl:ถ้า ทดสอบ="@OpenInNewWindow = 'จริง'" >_blank</xsl:ถ้า> </xsl:ตัวแปร> <!-- ที่นี่เรากำหนดตัวแปร, "tableStart". นี้ประกอบด้วย HTML ที่เราใช้กำหนดเปิดตัวเป็นป้ายชื่อคอลัมน์. หมายเหตุว่า ถ้า CurPos = 1, รวม HTML แท็ก CDATA. มิฉะนั้น, มันจะว่างเปล่า. ค่าของ tableStart คือ emited ทุกครั้งที่เรียกว่า ItemStyle ผ่าน ContentQueryMain.xsl. --> <xsl:ตัวแปร ชื่อ="tableStart"> <xsl:ถ้า ทดสอบ="$CurPos = 1"> <![CDATA[ <เส้นขอบตาราง = 1> <tr bgcolor = "บลู"> <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 ที่ออกหลบหนี, มันจะสร้างสิ่งเช่น"<ตาราง>" แทนของ"<ตาราง>". --> <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:มีพารามิเตอร์ ชื่อ="ค่า" |
นี้มีประโยชน์อย่างเหลือเชื่อ. ขอบคุณ!
Aah… เพราะผมชื่อลักษณะของรายการของฉันแตกต่าง และไม่ได้ตระหนักว่า ใน ContentQueryMain.xsl จะตรวจสอบ "รูปแบบ":
<xsl:เมื่อ test="@Style='NameOfMyStyle'">
ที่เปลี่ยนชื่อ จะทำงาน. 🙂
มันเกือบจะทำงานให้ฉัน: ฉันจัดการเพื่อผลการ </ตาราง> จบแท็กอย่างถูกต้อง, แต่แท็กเริ่มต้นขาดหายไป. ดูเหมือนว่าการทดสอบ = " $CurPos = 1" ไม่กลับเป็นจริง. แต่ทำไม?
โพสต์มาก. พอเสร็จกิจกรรมข้างต้นทั้งหมด. มีการสอบถาม, วิธีสามารถฉันให้บรรลุผลรวมของ "ผลรวมจริง Expences" หรือผลรวมของค่าของคอลัมน์ที่สอง.
คุณทำงานกับการสร้างแบบกำหนดเอง ContentQueryMain และ ItemStyle แฟ้ม xsl? เหตุผลที่ผมถามคือ ว่า ฉันไม่ต้องการกังวลเกี่ยวกับลักษณะแบบกำหนดเองของฉันถูกเขียนทับ ด้วยการอัพเกรดหรือปรับปรุงใด ๆ. มีตัวอย่างไหม? ฉันพยายามทำเป็นสำเนาที่เหมือนกันของ ContentQueryMain.xsl และอัปโหลดสำเนาที่กำหนดเองใหม่ในลักษณะไลบรารี. เมื่อวางการอ้างอิงไปยังแฟ้ม xsl นี้ในคุณสมบัติ MainXslLink ของ.webpart, ฉันได้รับ 401 ไม่ได้รับอนุญาต. แฟ้ม xsl เองรุ่นเผยแพร่ และทุกคนได้เข้าอ่านได้.
ขอบคุณโพสต์ที่ยอดเยี่ยม! การต่อสู้นี้ตอนนี้ไม่กี่วันสุดท้าย.
สวัสดี, นี้ถูกลงรายการบัญชีเป็นประโยชน์จริง ๆ. ฉันจะทำงานทั้งหมด, และการเปลี่ยนแปลงของ Brown ไมค์ยังดำเนินการเพื่อให้ได้กลุ่ม
ผลภายในโดยสิ่งที่จะเลือกเป็นกลุ่มโดยพารามิเตอร์ในคุณสมบัติของ CQWB.
ทำเรื่องการเชื่อมโยงไปยัง, เพื่อทำงานอย่าง. ยังมีปัญหาหนึ่ง, แม้ว่า. ฉันกำลังจัดกลุ่มผลลัพธ์ตามชื่อเว็บไซต์. ภายในตาราง, มันกลุ่มดี, และดูดี, แต่ก็ยังพิมพ์ออกมาได้ทั้งหมด
ชื่อ(ในกรณีของฉันชื่อไซต์) อยู่เหนือตาราง. ไม่มีใครทราบวิธีการกำจัดเหล่านี้?
ขอขอบคุณ,
กา
บทความที่ดี. ฉันจัดการเพื่อทำให้ตารางลักษณะของรายการ Sharepoint เริ่มต้น โดยการวิเคราะห์รหัสแหล่งที่มาของรายการ. นี่คือ HTML บล็อกหลักต้องพอดีกับ ItemStyle:
<ความกว้างของตาราง = "100%" คลาส = "ms listviewtable" ขอบ = 0 cellspacing = 0 cellpadding = 1 dir = "ไม่มี">
<!–หัวข้อ–>
<คลาส TR = "ms viewheadertr" VALIGN =ด้านบน>
<ขอบเขต nowrap TH = "คอลัมน์" คลาส = "ms vh2"><สไตล์ div = "ความกว้าง:100%;ตำแหน่ง:ญาติ;ซ้าย:0;ด้านบน:0;">
<ลักษณะตาราง = "ความกว้าง:100%;" CtxNum = "1" ความสูง = "100%" cellspacing = 1 cellpadding =ระดับ 0 = "ms-unselectedtitle">
<TR>
<ความกว้างของ TD = "100%" คลาส = "ms vb" nowrap>
เหมา titre du Texte
</TD>
<สไตล์ TD = "ตำแหน่ง:แน่นอน;">
</TD>
</TR>
</ตาราง></div>
</TH>
<!–ทำซ้ำสำหรับเซลล์ส่วนหัวทั้งหมด–>
</TR>
<!– ตารางข้อมูล –>
<คลาส TR = "">
<!–คอลัมน์ข้อมูล, ใช้รหัสของ Paul สำหรับครั้งแรกกับการเชื่อมโยงหลายมิติ –>
<คลาส TD = "ms vb2">ข้อมูลที่นี่</TD>
<!–คอลัมน์ว่าง–>
<คลาส TD = "ms vb2">
<ขยาย dir =ไม่มี></ขยาย><
/TD>
<!–คอลัมน์วัน–>
<คลาส TD = "ms vb2">
<NOBR>11/12/2008</NOBR>
</TD>
</TR>
<!–***แถวอื่น – ใช้ตัวแปร XSL ใหม่ที่จะแทรกตามแถวปัจจุบัน modulo 2 ชั้นอื่น–>
<คลาส TR = "สลับ ms">
…
</TR>
</ตาราง>
Thatz แม่นยำฉันถูกมองหา...คุณร็อคแมน...เจริญ...รักคุณสำหรับการลงรายการบัญชี.
<xsl:เลือกแม่แบบที่ใช้ = "" โหมด = "itemstyle">
<xsl:มีพารามิเตอร์ชื่อ = "CurPos" เลือก "$CurPosition =" />
<xsl:มีพารามิเตอร์ชื่อ = "ล่าสุด" เลือก "$LastRow =" />
<xsl:มีพารามิเตอร์ชื่อ = "StartNewGroup" select="@__begingroup" />
</xsl:เมื่อ>
<xsl:เมื่อทดสอบ = " $StartNewGroup = 'จริง' ">
<tr>
<td >
<xsl:แม่โทร name="OuterTemplate.GetGroupName">
<xsl:มีพารามิเตอร์ชื่อ = "GroupName" select="@*[ชื่อ()= $Group]"/>
<xsl:มีพารามิเตอร์ชื่อ = "GroupType" เลือก = "$GroupType" />
</xsl:เรียกแม่>
</td>
</tr>
</xsl:เมื่อ>
<xsl:มิฉะนั้น>
</xsl:มิฉะนั้น>
</xsl:เลือก>
Hi Paul,
เมื่อทำงานกับ xml/xsl และเนื้อหาแบบสอบถาม web part, คุณพบใด ๆ วิธีการรูปแบบ xslt ของคุณที่ดี? พยายามที่จะทำการเปลี่ยนแปลง และทดสอบการออกแบบเป็นการพิสูจน์ปวดด้านขวาเป็น ** เพียงใช้ตัวแก้ไขข้อความ…
ส่วนทั้งหมด
(เช่น. https://myweb.com/Marketing/images/icn-order.gif, )
ควรใช้ภาพหรือรูปภาพในชนิดของฟิลด์ CommonViewFields? (เช่น. InternalColumnName, รูปภาพ)
โพสต์ของคุณคือ อะไรค่ะ. อย่างไรก็ตาม, ไม่ได้ไปทำงาน.
มีเอกสารที่เก็บอยู่ในเอกสารต่าง ๆ. ไลบรารีแต่ประเภทใช้คอลัมน์คลาสที่กำหนดเอง (ทางเลือก: 1 หรือ 2. ต้องใช้ CQWP ให้แสดงเอกสารเหล่านี้ตามนัก.
ผมสามารถเพิ่ม CQWP, ส่งออกให้ SPD, ตั้งค่าคอนฟิก itemStyle.xls การแสดง fileds กำหนดเองในมุมมองรายการ. อย่างไรก็ตาม, ฉันอาจไม่เสร็จเรียบร้อยแล้วนำสิ่งที่คุณอธิบายที่นี่.
เหล่านี้เป็นคอลัมน์ที่ต้องการแสดงใน CQWP ของฉัน:
ชนิดแฟ้ม (แสดงไอคอน)
ชื่อแฟ้ม
วันปรับเปลี่ยนล่าสุด
แก้ไขตามที่
เช็คเอาท์
ตรวจสอบในข้อคิดเห็น
ขณะนี้มีผลในรูปแบบรายการ. ฉันเปลี่ยนมันไปเป็นรูปแบบ talble.
ขอขอบคุณ.
Saji
ขอ missspelling ชื่อของฉันไม่แน่ใจว่าในที่นี้ ” มาจาก.