คลังเก็บรายเดือน: ธันวาคม 2007

ลูกชายของฉัน Hacked เกมสปอต

ดังนั้น, เมื่อเช้านี้, ลูกจะกำหนดดู 13 อายุจำกัด Halo 3 วิดีโอที่ เกมสปอต. ผมอยู่ shoveling หิมะ, ดังนั้นฉันไม่มี การช่วยขัดขวาง. มารดา ของประดิษฐ์ และที่มีความจำเป็น … เขามียูเรก้า! ขณะนี้. เขาตระหนักที่แม้เกมสปอตต้องหื่นใส่เขา จริง วันเกิด, จริงสามารถป้อน ใด ๆ วันเกิดที่เขาต้องการ. เมื่อเขาตระหนักว่า, เขาทำตัวเก่าพอที่จะดูวิดีโอ.

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

Funny วันอาทิตย์: “มีพิมพ์ขยะ”

ที่งานแรกจากวิทยาลัยใน 1991, ผมโชคดีในการทำงานสำหรับบริษัทผู้ผลิตด้วย 13 สถานที่เก็บ, ไม่รวมสำนักงานใหญ่ของบริษัทในนิวเจอร์ซี่. ฉันเข้าร่วมเพียงเมื่อบริษัทถูกรีดออกระบบ ERP ใหม่. เรามีแผนก IT ขนาดเล็กของกันประมาณ 10 คน, สองคนไม่ได้เดินทาง. ส่วนหนึ่งของโครงการที่เกี่ยวข้องแทนระบบ IBM 36 กล่องที่ มีฮาร์ดแวร์ของ HP และ HPUX. ทุกคนใช้หลอดสีเขียวในการเข้าถึงระบบ.

โครงการม้วนตาม และฉันก็ส่งลงไปบัลติมอร์กับผู้ร่วมงานใหม่, Jeff. งานของเราที่จ่ายกล่อง Unix, แน่ใจว่ามีการทำงาน o/s, ติดตั้งระบบ ERP, ตั้งค่าคอนฟิกการ ERP, ผู้ใช้ ERP การรถไฟ และทำงานแบบกำหนดเองสำหรับคนในจุด. (นี้เป็นงานที่ฝัน, มาโดยตรงจากวิทยาลัย). ก่อนเราอาจได้รับจริง ๆ จากพื้นดิน, เราจำเป็นต้องแยกท่อสีเขียวทั้งหมด, เก็บโต๊ะ และลวดนั้น. และส่วนดีที่สุด ว่า เรามีการเชื่อมต่อสาย RJ11 ในตนเอง.

บางเหตุผลที่ฉันไม่เคยเข้าใจ และจริง ๆ ไม่เคยคิดจะถามเกี่ยวกับเวลา, เราเคยมีบางบริษัทสัญญาจ้างมาพร้อม และเรียกใช้สายทั่วโรงงาน, แต่เราไม่ได้ให้ใส่ตัวเชื่อมต่อ. ดังนั้น, มี "โปรแกรมปรับปรุงกล่อง" มีหลายสิบสายไม่ใน "ห้องคอมพิวเตอร์" และเหล่านี้ snaked รอบอาคารสถานที่ต่าง ๆ ในอาคาร.

เราทำทางผ่านนั้นช่วงเวลาของวัน, ทดสอบแต่ละสาย, วางบนตัวเชื่อมต่อ (ทำให้แน่ใจว่าไม่ตรงกับ. ข้าม), บริการการตั้งค่าบิตในหลอดสีเขียวและเครื่องพิมพ์ได้ถูกต้อง, ติดฉลากสาย, ตรวจสอบให้แน่ใจว่าพอลเก็ตที่ "ตี" คือการทำงานอย่างถูกต้องสำหรับแต่ละพอร์ตและคงพันสิ่งอื่น ๆ ที่ฉันได้ถูกระงับตั้งแต่นั้น. ทั้งหมดมารวมกันอย่างมาก.

แต่, มีความสำคัญสายหนึ่งที่เราไม่สามารถคิดออก. พืชในบัลติมอร์มีความสัมพันธ์กับตำแหน่งคลังในนิวเจอร์ซี่. คำสั่งบางอย่างอยู่ในบัลติมอร์ส่งออกจากตำแหน่งที่ตั้ง. มีสองสายที่มีการเชื่อมต่อกับกล่อง HPUX: หลอดสีเขียวและเครื่องพิมพ์. หลอดสีเขียวได้ง่าย, แต่เปิดเครื่องพิมพ์เป็นฝันร้ายสามสัปดาห์.

ถ้าคุณไม่ทราบ, หรือระงับไว้ได้, จัดการกับหลอดสีเขียวและเครื่องพิมพ์ด้วยวิธีนี้, มีตัวเลือกต่าง ๆ ที่คุณได้จัดการกับค่าหมุดต่าง ๆ. 8-บิต, 7-บิต, พาริตี้ (แม้/คี่/ไม่), อื่น ๆ อาจ. ถ้าคุณที่ได้รับการตั้งค่าที่ไม่ถูกต้อง, หลอดหรือเครื่องพิมพ์ยังแสดงสิ่ง, แต่จะรวม gibberish, หรือจะ gibberish มีสิ่งที่เป็นที่รู้จักในระหว่าง. แน่นอน, หมุดนี้ยากดู และมีการกำหนดโดยโปรแกรมควบคุมสกรูขอบแบนขนาดเล็ก. และจะไม่ได้มาตรฐาน.

เราตั้งค่าแรกเรียกด่วนมากกับผู้ชาย NJ (hater คอมพิวเตอร์ grizzled ที่คงแช่งเจ้าเรานี้). เรามีหลอดสีเขียวที่ทำงานสวยรวดเร็ว, แต่เราไม่สามารถรับพิมพ์งาน. จะเก็บ "พิมพ์ขยะ". เราจะสร้างตัวเชื่อมต่อสาย RJ11 ใหม่, สลับ ระหว่างข้ามตรง. เราจะลบพอร์ต และถูกสร้างขึ้นใหม่ใน Unix. เราได้งานที่ยากลำบากของเขาอธิบายให้เราได้กำหนดค่า pin ในเครื่องพิมพ์, ไม่เคยจริง ๆ แน่ถ้าเขาได้ทำอย่างถูกต้อง.

ถึงเวลาไปอยู่, ทุกอย่างในบัลติมอร์เป็นฮัม, แต่เราไม่ได้รับเครื่องพิมพ์สาปขึ้นใน NJ ในการทำงาน! เราได้หมดไปทั้งหมดยกเว้นขับรถกลับถึง NJ ต้องพิมพ์ในคน. เพื่อหลีกเลี่ยงการขับขี่ที่, สุดท้ายขอให้เขาส่งอะไรเขาจะได้รับเมื่อเป็น "ขยะ", หวังว่า อาจจะมีเงื่อนงำบางอย่างในขยะที่จะบอกสิ่งที่เรากำลังทำผิด.

เมื่อเราได้รับโทรสาร, เราทันทีรู้ว่าอะไรถูกผิด. ดู, ของเราวิธีการทดสอบว่าเรามีการกำหนดค่าเครื่องพิมพ์อย่างถูกต้องถูกให้ ออกเป็น "ห้างหุ้นส่วนจำกัด" คำสั่งนี้:

ห้างหุ้นส่วนจำกัดฯลฯ/รหัสผ่าน

โดยทั่ว, เราพิมพ์ไฟล์รหัสผ่านของ unix. เป็นปัจจุบัน และกล่อง, หน้าเดียวเสมอ. คุณมาตรฐาน Unix ผ่านแฟ้มดูเหมือน:

สมิธ:*:100:100:8A-74(สำนักงาน):/หน้าแรก/สมิธ:/ระบบควบคุม เวอร์ชัน/ช่อง/sh แขก:*:200:0::/บ้าน/ห้อง:/ระบบควบคุม เวอร์ชัน/ช่อง/sh  

เรามีการพิมพ์ออกแฟ้มรหัสผ่านบ่อย ๆ หลายสัปดาห์ และถูกพิมพ์อย่างถูกต้อง. อย่างไรก็ตาม, ผู้, มันเป็น "พิมพ์ขยะ".

</สิ้นสุด>

ยังเครือข่ายอื่นประจำท้าทายหลายประเด็นและโซลูชั่น

ลูกค้าของฉันเพิ่งติดตั้งอุปกรณ์มายากลจาก จูนิเปอร์ ที่เห็นได้ชัดแทนของเก่า Cisco เครือข่ายสมดุล (ร้อง). ที่เกี่ยวกับกัน, เราติดตั้งเป็น โปรแกรมแก้ไขด่วนเพื่อแก้ไขปัญหาในลำดับงาน.

หนึ่งหรือสองวันต่อมา, เราพบปัญหาเมื่อเราเข้าถึงผู้ให้บริการใช้งานร่วมกัน (SSP). เราสามารถรับได้, แต่เราจะท้าทายสำหรับ ID ผู้ใช้และรหัสผ่านหลายครั้งในแต่ละหน้า. นี้ไม่ได้เกิดขึ้นกับ app พอร์ทัลหลัก, หรือการดูแลจากศูนย์กลาง. ตามธรรมชาติ, เราไม่รู้ซึ่งทั้งสอง (จูนิเปอร์หรือโปรแกรมแก้ไขด่วน) จะเป็นปัญหา, แต่ ผมขอสงสัยว่าโปรแกรมแก้ไขด่วน, หาเราก็ไม่ได้ติดตั้งมันค่อนข้างขวา.

จะเปิดออกว่า จูนิเปอร์มีบางชนิดของการบีบอัด. หนึ่งของการ เลขที่ robed ผ่านเครือข่ายใน กลุ่มเปิดที่ตั้ง. ที่แก้ปัญหาของเรา.

นี่ไม่ใช่ครั้งแรกที่ถูกบีบอัดแล้วสาเหตุรากของปัญหา SharePoint สำหรับฉัน. การบีบอัด IIS ผลกระทบเครื่องมือพรรค 3 จากคนดีที่โรงงานสุทธิจุดสำหรับ IE 6 เบราว์เซอร์ (IE 7 เบราว์เซอร์ที่ทำงานได้โดยไม่ยาก).

ดังนั้น, เพิ่ม "การบีบอัด" รายการอันตราย.

</สิ้นสุด>

สินเชื่อเพื่อ: http://www.elfwood.com/art/s/h/sherry/death_colour.jpg.html

แท็กของ Technorati: ,

ความคิดเกี่ยวกับการเปลี่ยนแพลตฟอร์มบล็อก

ผมเริ่มจาก "บล็อกอาชีพของฉัน" ใช้แพลตฟอร์มของ Microsoft และจะได้ดีกับฉัน. ง่ายต่อการลงรายการบัญชี, มีตัวเลือกที่ดีและเครื่องมือในการจัดการ "พื้นที่ว่าง", เก็บเว็บที่ดีและอื่น ๆ.

อย่างไรก็ตาม, ผมแค่ตกเป็นโซลูชัน MS แทบไม่ต่าง. เรียกคนเดียวที่จะประเมินซึ่งฉันและที่ฉันจะ, ในแพลตฟอร์มบล็อก. นอกจากนี้ยังมีข้อจำกัดสำคัญสองที่รำคาญฉันขวาตอนนี้ vis-เซ็ต-vis Windows Live ช่องว่าง.

แรก, ไม่ได้รับสถิติดีมาก. มีสถิติ แต่มักตัดทอนรายละเอียด และไม่นำเสนอในลักษณะที่ช่วยให้การวิเคราะห์ชนิดใด. มีความสามารถไม่เรียงลำดับหรือการส่งออก. ได้รับความคิดเห็นในบล็อกตามชนิดของข้อมูลที่คนค้นหา (หรือไม่โดยเฉพาะอย่างยิ่งในการค้นหา) เมื่อพวกเขาค้นหาบล็อกของฉัน. มันยากมากใช้ช่องว่างชีวิตที่.

วินาที, ไม่ดูเหมือน จะมีกลไกในการ "สร้างรายได้จาก" บล็อก windows สดพื้นที่. อันที่จริง, เพื่อกำจัดโฆษณา MS (จากที่ผมได้มาไม่มีประโยชน์), ต้องจ่ายเงินจริง Microsoft. (น้อย, เป็นวิธีที่ผมเข้าใจ; ฉันได้รับไม่สามารถหาคำตอบทั่วไปนี้และคำถามเช่นนั้น).

หลังจากที่ฉันได้เป็นแบบอย่างและชุดของบล็อกนิสัย, ต้องการประเมินอื่น ๆ. ผมได้ทำวิจัยบางอย่าง และมีตัวเลือกมากมาย, แต่ฉันอยากรู้อยากเห็นเป็นสิ่งที่ผู้คน, โดยเฉพาะอย่างยิ่งคนในชุมชน SharePoint (เป็นบล็อกเกอร์หรือผู้อ่าน), ต้องการใช้.

ถ้าคุณสนใจเรื่องนี้ และคุณจะเห็นการยินดีแบ่งปันประสบการณ์ของคุณ, กรุณาแสดงความคิดเห็น หรือส่งโดยตรง.

ขอขอบคุณ!

<สิ้นสุด />

แท็กของ Technorati:

ส่งอีเมล์ SharePoint Designer ???? ในอีเมล์

ฟอรั่มผู้ใช้ถามบางครั้ง: ทำไมไม่ SharePoint Designer วาง ???? ในอีเมลของฉันแทนค่าฟิลด์?

เหตุผลหนึ่งซึ่งเกิดขึ้นเป็น เพราะตัวแปรที่คุณอ้างอิงเป็น null.

นี้สามารถเกิดขึ้นได้เนื่องจากคุณพยายามอ้างอิงเขตข้อมูลจาก "สินค้าปัจจุบัน" แต่ผู้ใช้ไม่ป้อนค่าในเขตข้อมูลฟอร์มนั้น.

<สิ้นสุด />

เปรียบเทียบ / ทดสอบวันที่ว่างเปล่าใน SharePoint Designer

สถานการณ์สมมติ: ในเวิร์กโฟลว์ SharePoint Designer, คุณต้องกำหนดว่าเขตข้อมูลวันว่างเปล่า.

ปัญหา: SPD ไม่มีโดยตรงวิธีการเปรียบเทียบที่ต้องใช่วัน. คุณไม่สามารถสร้างเงื่อนไขเช่นนี้: "ถ้า [DateField] เท่ากับว่างเปล่า".

โซลูชั่น: แปลงวันสาย. การเปรียบเทียบสตริงที่กำหนดว่าวันว่างเปล่า.

ภาพหน้าจอ:

ภาพหน้าจอต่อไปนี้แสดงวิธีการทำเช่นนี้. ในสถานการณ์สมมตินี้, เขตข้อมูลในรายการ, "สิ่งแวดล้อมใบอนุญาต:อนุญาตก่อน วันแจ้งเตือน", ส่ง และลำดับแรกในการตอบสนอง.

รูปภาพ

รูปภาพ

หมายเหตุ:

เมื่อฉันพยายามนี้, ผมประหลาดใจในการเรียนรู้ว่า การทำงาน. ผมกังวลว่า SharePoint Designer อาจไม่อนุญาตให้กำหนดค่าสายอักขระ (ตัวแปรที่:StringReminderDateDate) แต่มันไม่ได้ช่วยให้.

ผมยังกังวลว่าทำให้มัน, ค่าอาจมีค่า null และแบบเป่าขึ้นดับเบิลยูเอฟขณะใช้งานจริง หรืออาจจะเพิ่มอุณหภูมิโลก 1/2 ระดับ, แต่ความกังวลเหล่านั้นถูกโคมลอย.

</สิ้นสุด>

บาร์มีสวยเพื่อขยายมอสส์

วันนี้, ผมทำงานกับไคลเอนต์ และอธิบายวิธี การปรับเปลี่ยนแบบสอบถามเนื้อหา web part แสดงบิตเพิ่มเติมข้อมูลจากชนิดของเนื้อหา.

"ครั้งแรก, คุณตั้งค่าคอนฟิก CQWP การเชื่อมต่อกับแหล่งข้อมูล, แล้ว คุณส่งการเวิร์กสเตชันของคุณ, ปรับเปลี่ยน <CommonViewFields>, อัปโหลด, เอาต้นฉบับ และตอนนี้ มัน ' งเยีย’ การแสดงคอลัมน์เหล่านั้น. ถัดไป, เปิดตัวออกแบบของ SharePoint, นำทางไปยังไซต์คอลเลกชันราก และค้นหา ItemStyle.xsl. คัดลอกแม่แบบอย่างใดอย่างหนึ่งเป็นจุดเริ่มต้นมีประโยชน์. ย้อนกลับ และแก้ไข CQWP ให้ใช้แม่แบบใหม่นี้. ขั้นตอนสุดท้าย, ปรับเปลี่ยนแม่แบบเพื่อแสดงเขตข้อมูลของคุณใหม่! (อย่าลืมตรวจสอบกลับในที่อื่นผู้ใช้จะเห็นผล)."

มีทั้งหมดค่อนข้างชัดเจนกับฉัน (และส่วนใหญ่ของเราชนิด SharePoint สำหรับนักพัฒนา) จะเกิดอะไรขึ้นและว่าจะค่อนข้างดี, จริง ๆ, ว่า ด้านเรียกข้อมูลของ CQWP จะให้ดีแยกต่างหากจากด้านนำเสนอข้อมูล. แต่, ไม่ใช่เรื่องง่ายดังนั้นการอธิบาย, มัน?

<สิ้นสุด />

แท็กของ Technorati: ,

แสดงเนื้อหาแบบสอบถามเว็บส่วนผลลัพธ์ในเส้นตาราง / ตาราง

ภาพรวมและวัตถุประสงค์

กล่อง, มอส’ 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>

วิธีการ

ทำตามขั้นตอนเหล่านี้เพื่อสร้างตาราง:

  1. ระบุส่วนประกอบของตาราง (แถว/คอลัมน์).
  2. กำหนด และสร้างคอลัมน์ของไซต์ที่จำเป็น.
  3. สร้างไซต์ย่อยสำหรับโครงการและรายเดี่ยว.
  4. CQWP การเพิ่มหน้าเว็บ และการค้นหารายการ.
  5. แก้ไข XML ของ CQWP เพื่อรวบรวมค่าคอลัมน์เพิ่มเติม.
  6. แก้ไข 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 ที่ออกหลบหนี, มันจะสร้างสิ่งเช่น"&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:มีพารามิเตอร์ ชื่อ="ค่า" 
เลือก="@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 = "linkitem" ชั้น = "สินค้า"> <xsl:ถ้าทดสอบ = "สายอักขระความยาว($SafeImageUrl) != 0"> <div คลา = "ภาพตั้งซ้าย"> <การ href = "{$SafeLinkUrl}" เป้าหมาย = "{$LinkTarget}"> <ชั้นใช้ได้ img = "ภาพความกว้างคง" src = "{$SafeImageUrl}"
alt = "{@ImageUrlAltText}"/> </การ> </div> </xsl:ถ้า> <div คลา = "เชื่อมโยงสินค้า"> <xsl:เรียกแม่
name="OuterTemplate.CallPresenceStatusIconTemplate"/> <การ href = "{$SafeLinkUrl}"
เป้าหมาย = "{$LinkTarget}" ชื่อ = "{@LinkToolTip}"> <xsl:เลือกค่าของ = "$DisxslyTitle" /> </การ> <คลาส div = "คำอธิบาย"> <xsl:ค่าของ select="@Description" /> </div> </div> </div>
--> </tr> <!-- กิ๊กปิดตารางแท็ก. ถ้าเราไม่ได้อยู่ในแถวสุดท้าย, นี้จะว่างเปล่า. --> <xsl:ค่าของ เลือก="$tableEnd" ปิดการใช้งานผลผลิตหลบหนี="ใช่"/> </xsl:แม่แบบ> <xsl:แม่แบบ ชื่อ="formatcurrency"> <xsl:พารามิเตอร์ ชื่อ="ค่า" เลือก="0" /> <xsl:ค่าของ เลือก='รูปแบบหมายเลข($ค่า, "$DDD,DDD,DDDดีดี", "พนักงาน")' /> </xsl:แม่แบบ>

หน้าจอรายการข้อมูล WSS MOSS มาตรฐานสนับสนุนหล่นลงน้ำตก (หรือภายในอื่น ๆ -จากการสื่อสาร)

โปรแกรมปรับปรุง (04/2008): รายการนี้ดีบล็อกแสดง javascript ที่ดีตามแนวทางปัญหานี้: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

ปรับปรุงครั้งที่สอง: (04/2008): รายการบล็อกนี้ดูแนวโน้มเช่น: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

หลายครั้งต่อสัปดาห์, ถ้าไม่ทุกวัน, ผู้ใช้งานฟอรัมอธิบายความต้องการที่จะพบผ่านน้ำตกหล่นลงตามปกติ. ตัวอย่าง, มีตัวควบคุมสองตัวหล่นลง:

  • รายการของอเมริกา. อเมริกา
  • รายการของอเมริกา. เมือง.

เป็นผู้ให้ผู้รับผิดชอบ UI, เราต้องการให้มีดังนี้:

  • พอลเลือกอเมริกาเป็น. สถานะจากรายการแบบหล่นลง.
  • ทำให้เมืองแบบหล่นลงเพื่อกรองข้อมูลเฉพาะเมืองที่อยู่ในสถานะเลือกไว้.
  • พอลเลือกเมืองจากรายการที่กรองแล้วนี้.

ไม่มีการสนับสนุนสำหรับคุณลักษณะนี้ออกของกล่อง. อันที่จริง, ไม่มีการสนับสนุนสำหรับชนิดต่าง ๆ ของการสื่อสารโดยตรงแบบอินทรา OOB. นี้มีโปรแกรมซ่อน/เปิด/ปิดการใช้งานฟิลด์ในฟิลด์การเปลี่ยนแปลงอื่น ๆ ในแบบฟอร์ม.

วัตถุประสงค์แท้จริงของบทความนี้เพื่ออธิบายปัญหาและเหล่านี้เป็นตัวรู้ว่าพวกเขา:

  1. พัฒนาชนิดคอลัมน์ที่กำหนดเอง. เป็นการกำหนดคอลัมน์นักพัฒนา, คุณสามารถควบคุมเต็มโลก"" คอลัมน์ที่กำหนดเอง. คุณสามารถใช้การเรียงซ้อนแบบหล่นลงด้วยวิธี.
  2. พิจารณาโดยใช้ลำดับงาน. ในบางกรณี, คุณต้องกำหนดค่าให้ฟิลด์ค่าของฟิลด์อื่นโดยอัตโนมัติ. ในกรณีนี้, โดยปกติคุณจะพยายามที่จะใช้คอลัมน์คำนวณได้, แต่บางครั้ง, มันเพิ่งจะได้งานทำ. ลำดับงาน SharePoint Designer คือ เป็นทางเลือกค่อนข้างดูแลง่ายปล่อยลงรหัสและห้องภาพ. ถ้าคุณไปเส้นทางนี้, ตระหนักถึงเรื่องนี้ บทความนี้ (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. ตัวจัดการเหตุการณ์: เช่นลำดับ, นี้เป็นโซลูชันหลังจริง. ตัวจัดการเหตุการณ์ของคุณเป็นแอสเซมบลี.NET (C#, เหนือ) การ SharePoint ที่ส่งต่อการควบคุม. วัตถุที่คุณพัฒนาได้เข้าถึงข้อมูลของรายการ (และรูปแบบวัตถุทั้งหมด) และสามารถทำการคำนวณที่จำเป็น.
  4. ใช้ SharePoint Designer เพื่อสร้างแบบฟอร์มรายการแบบกำหนดเอง. ไม่มีประสบการณ์โดยตรง ด้วยวิธีการนี้, but I hear they are doing good things with NewForm.aspx these days 🙂
  5. ม้วนของ ASP.NET ข้อมูลรายการฟังก์ชัน (เป็นเว็บเพจแบบสแตนด์อโลน หรือ เป็นส่วนหนึ่งของเว็บ) และใช้แทน.

ถ้าใครรู้ว่าตัวอื่น หรือดีกว่า, โปรดแสดงความคิดเห็น และฉันจะปรับปรุงเนื้อหาของบทความนี้.

<สิ้นสุด />

แท็กของ Technorati:

ใช่/ไม่ใช่ (กล่องกาเครื่องหมาย) กรองในเนื้อหาแบบสอบถาม Web Part

การกรองสำหรับแบบสอบถามแบบ Yes/กล่อง กาเครื่องหมายไม่มีสิทธิ์ "PG ก้าว", กำหนดค่า CQWP เช่นนี้:

รูปภาพ

นี่คืออีกหนึ่งคำถามที่ชัดเจนครั้งเดียวคุณรู้มัน แต่ hard-to-find-an-answer-to: วิธีการกรองใช่/ไม่มีกล่องกาเครื่องหมายที่ใช้แบบสอบถามเนื้อหา web part.

ครั้งแรก ผลการค้นหา หาโดยใช้คำค้นหา "กรองสอบถามใช่/ไม่ใช่เนื้อหา web part" ถูกแบนออกไป, ดังนั้นฉันคิดว่า ฉันจะวางนี้มี และดูถ้ามันสามารถแทนผลลัพธ์ไม่ถูกต้องในผลลัพธ์การค้นหาทั่วไป.

ค่อนข้างง่าย: จริงค่า = "1" และค่าเท็จไม่เท่ากับ "1" (ย้อนยุคสวย, จริง).

ในตัวอย่างข้างต้น, สร้างชนิดคอลัมน์ไซต์ Yes/No" (กล่องกาเครื่องหมาย)" ชื่อ "PG ก้าว". เพิ่มเข้าไปในไลบรารีเอกสาร, อัปโหลดเอกสารกี่, ตั้งค่าสำหรับคู่รัก และทดสอบ.

<สิ้นสุด />