โปรแกรม เสียงระฆังแห่งสติ
Posted by janawat in โปรแกรมจิตสำนึก on 30/04/2012
คนเราเกิดมา
พ่อแม่ สอนให้เป็นคนดี
การเป็นคนดีได้ นั้น
ยอดเยี่ยม
แต่สิ่งที่ยอดเยี่ยมกว่า คือ
มนุษย์ เป็นสิ่งมีชีวิต ที่
สามารถสอน ตัวเอง
ให้คิดในทางบวกมากขึ้นๆ…ๆ….
ให้กลายเป็นคนดี
เยี่ยมขึ้นไปอีก
เราสามารถสอนตัวเราเองได้
ด้วยการฝึกสติ (แม้ในขณะปฏิบัติงาน)
ผมพัฒนาโปรแกรม
เสียงระฆังแห่งสติ ขึ้นมา
เพื่อฝึกสติในขณะ แม้ปฏิบัติงาน
เพื่อสอนตัวเอง
ให้รู้จักใช้ชีวิต อย่างมีชีวิต
ให้รู้จัก ดึงความคิด
ออกจากข้อมูลขยะ
ใน อดีต และอนาคต
ให้มาอยู่ตรงหน้า ข้อมูลจริง (ในปัจจุบันขณะ)
ให้ มีความสุข
ทุกขณะปัจจุบัน (แม้ในยามปฏิบัติงาน)
สมองคนเราใน 1 ชม.
สามารถคิดได้เป็น หมื่นๆ เรื่อง
ส่วนใหญ่เป็น ข้อมูลขยะมากกว่า กล่าวคือ
เป็นข้อมูล เรื่องในอดีต (ที่ผ่านไปแล้ว) หรือไม่ก็
เป็นเรื่องของข้อมูล ในอนาคต (ที่ไม่เคยไปถึง)
แล้วเอามาคิดเติมแต่ง สร้างเรื่อง ให้ตัวเอง
ทุกข์ร้อนในปัจจุบัน
จนสมองไม่เหลือพื้นที่ (RAM)
สำหรับคิด(ประมวลผล) เรื่องที่จำเป็นจริงๆ
ถ้าได้ฝึกหยุดคิดบ่อยๆ (ด้วยการฟังเสียงระฆัง 3- 5 วินาที)
จะช่วยให้สมองได้พักผ่อน (Restart)
เป็นการเคลียร์ข้อมูลขยะ(Temp) ออกไป
สมองจะเหลือพื้นที่มากพอ
สำหรับการประมสวลผล ในเรื่องที่จำเป็นจริงๆ
และนี่คือโปรแกรม เสียงระฆังแห่งสติ![]()
ฟีเจอร์
- ไม่มีอะไร นอกจาก(เล่น) เสียงระฆัง
การทำงาน
- ตั้งเวลาสำหรับเสียงระฆังเป็นนาที (ดีฟอลต์ที่ 15 นาที)
- เมื่อกดปุ่ม Start เวลาจะเริ่มวิ่ง
- เมื่อครบ 15 นาที เสียงระฆังจะดัง เสียงค่อย 1 ครั้งเป็นการปลุกระฆัง
- เมื่อสิ้นเสียงปลุก เสียงระฆังกังวานจะดังขึ้น
- ให้หยุดทุกอย่างที่ทำตรงหน้า (หยุดแม้แต่ความคิด)
- ให้หันมาสนใจเสียงระฆังอย่างเดียว โดย
- > หายใจเข้า ให้รู้สึกสบาย
- > หายใจออก ให้รู้สึกผ่อนคลาย
- > 3 ครั้ง ให้ผ่อนคลายที่สุด และ
- > ฟังเสียงระฆัง ติดตาม จนลึกสุดเสียง เงียบหายไป
- > แล้วจึงกลับมาทำงานตรงหน้าต่อ
สิ่งที่ได้
- หันมาดูแลตัวเอง
- รักตัวเอง
- ฝึกหยุดความคิด ด้วยการหยุดประมวลผลข้อมูลขยะ (ในอดีต และอนาคต)
- ฝึกคิดบวก ด้วยข้อมูลปัจจุบัน ตรงหน้า
- โปรแกรมความคิด(ตัวเอง) ให้ใส ทุกๆ 15 นาที ครั้งละ 3 – 5 วินาที
ด้วยการไม่คิด (หลอกสมองไม่ให้คิด ด้วยการฟังเสียงระฆัง)
และคิดว่าดีทีเดียว
ในการฝึกสติ
ให้อยู่กับปัจจุบัน ขณะ
จึงขอแชร์ให้เพื่อนๆ ทุกคน
ลองนำไปใช้ดู
แล้วคุณจะพบความสุข
โดยไม่ต้องสรรหา จากแหล่งใด
มันมีอยู่แล้ว ข้างในของคนทุกคน
ลองโปรแกรม
สิ่งดีดีลงในจิตใจของคุณ ทุกวันๆ
เมื่อโลกภายในเปลี่ยน
โลกภายนอก จะเปลี่ยนตาม
แหล่งข้อมูลดาวน์โหลด:
อ้างอิง:
คำขอบคุณ:
- ขอขอบคุณ ที่ผมเกิดมาในโลกนี้ แล้วอ่านหนังสือออก
แม้หนังสือ จะไม่สามารถตอบทุกคำถาม ของชีวิต ก็จริงอยู่
แต่หนังสือ มีข้อมูลมากมาย ที่สามารถทำให้
ชีวิตเกิดเปลี่ยนแปลง - ในชีวิต คนหนึ่งคน มีทั้งเรื่องดี และร้าย ปะปนกันไป
เรื่องร้าย ประมาณ 20% เรื่องดี ประมาณ 80%
ขอบคุณ ที่ผมอ่านหนังสือออก
หนังสือ ทำให้ผมรู้จัก มองในเรื่องดี(คิดบวก) 80% ของชีวิต
ผู้เขียน
** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: http://janawat.wordpress.com
Nuchit’s Profile @microsoft https://mvp.support.microsoft.com/profile/nuchit
Facebook: https://www.facebook.com/nuchit
Twitter: http://twitter.com/janawat
Rapid Business Application Development with LightSwitch
Posted by janawat in LightSwitch on 20/02/2012
เมื่อวันที่ 17 กุมภาพันธ์ 2555 ที่ผ่านมา
ผมได้รับเกียรติ ให้บรรยายในงาน:
สัมนา Microsoft TechDays Thailand 2012
ณ ห้องแกรนด์บอลรูม โรงแรมสวิสโซเทล เลอ คองคอร์ด
กรุงเทพฯ ถนนรัชดาภิเษก
ใน Session Developer: Unleash the force of Visual Studio
หัวข้อ Rapid Business Application Development with LightSwitch
จึงนำมาสรุป สำหรับคุณผู้อ่าน ที่พลาดโอกาสในงานนี้:
รูป: งานสัมนา Microsoft TechDays Thailand 2012
Session Developer: Unleash the force of Visual Studio
หัวข้อ Rapid Business Application Development with LightSwitch
ผมขึ้นบรรยายคนแรก ใน Session บ่าย:
และบรรยากาศ จะประมาณนี้ เชิญสำราณได้ ณ บัดนี้
ความสวยงาม ที่ลืม รู้สึก
แสงพระอาทิตย์ เหลืองอร่าม
บ่งบอกถึง ความมีพลัง มีชีวิต กำลังใจ การสร้างสรรค์ สิ่งใหม่ๆ อีกครั้ง
ขอถามพวกเราว่า?…
แสงอาทิตย์แสนสวยงาม
ที่เราเคยเห็น ครั้งล่าสุดสุดเมื่อไหร่?…
![]()
หลายท่านเริ่มคิด?…
ทบทวน ย้อนไปในอดีต
เมื่อ เช้า เมื่อวาน…
คิดไม่ออก
เนื่องจากเรา ดำเนินชีวิต ด้วยความเร่งรีบ
เร่งรีบ แข่งขัน แข่งขัน เราก็ไม่รู้ ว่าแข่งกับอะไรอยู่?
เร่งรีบ เพื่อเอาเวลา ไปทิ้งบนท้องถนน(รถติด)
จนบางครั้ง
เราลืมมอง ความสวยงาม ระหว่างทาง
ทั้งที่จริงแล้ว
แสงตะวัน ไม่เคยหนี หายไปใหน
มันยังคงเริ่ม จากทางทิศ ตะวันออก
และสิ้นสุด ทางทิศตะวันตก
ดวงตะวัน แต่ละวัน มีความงาม
และยังคง ส่องแสง แห่งความหวัง
ให้กับผู้คนทั้งหลาย อยู่ทุกวัน
วันแล้ว วันเล่า เมื่อพันๆ ล้านปีมาแล้ว จวบจนปัจจุบัน
แต่เราลืม ลืมเก็บเกี่ยว
มอง… รู้สึก… ถึงความงดงาม เหล่านั้น
LightSwitch คืออะไร?
มาดูว่า LightSwitch
จะมาช่วยให้ชีวิต Developer ดีขึ้นอย่างไรบ้าง?
แต่หลายท่าน ก็เกิดคำถามว่า แล้ว
LightSwitch คืออะไร?
![]()
LightSwitch เป็นเครื่องมือการพัฒนาโปรแกรมอย่างรวดเร็ว(RAD Tool) ชนิดหนึ่ง
เช่นเดียวกับ Visual Studio 2010(VS2010) แต่
VS2010 ผู้ใช้ ต้องเป็นนักพัฒนามืออาชีพ
เป็นผู้ที่มีทักษะ ด้านการเขียนโปรแกรมขั้นสูง
แต่ Lightswitch เป็นโปรแกรม Add-on บน VS2010
เป็นแพลตฟอร์มใหม่ในการพัฒนาที่ไม่จำเป็นต้องเขียนโค้ด
ก็สามารถสร้างโปรแกรมทางธุรกิจที่มีคุณภาพระดับมืออาชีพได้
และสร้างง่ายเสมือนหนึ่งใช้ปลายนิ้วผลักสวิทช์ไฟ
สร้างครั้งเดียวสามารถนำไปใช้ได้หลายที่ เช่น
เป็น WinApp, WebApp และ CloudApp
ที่สำคัญผู้ใช้งานไม่จำเป็นต้องเป็นนักพัฒนามืออาชีพ
ไม่จำเป็นต้องมีทักษะการเขียนโปรแกรมขั้นสูง
Development Cycle
ในวงจรการพัฒนาโปรแกรม ของพวกเรานักพัฒนา
ไม่ว่าระบบใดๆ ก็ตาม
เมื่อผ่านกระบวนการวิเคราะห์เป็นที่เรียบร้อยแล้ว
สุดท้าย เราจะได้ข้อมูลมา ก้อนหนึ่ง
หน้าที่ของนักพัฒนาคือ
- ออกแบบหน้าจอ
- เขียนโค้ด เพื่อติดต่อฐานข้อมูล
- จัดการข้อมูล
- คิวรี่ข้อมูล
- หรือนำข้อมูลออกมาใช้งาน
จากนั้นก็นำโปรแกรมไปให้ผู้ใช้ ใช้งาน
ความจริงก็ปรากฏ
ผู้ใช้เริ่มเข้าใจว่า จริงๆ แล้วตัวเองต้องการอะไร?
ผู้ใช้งานจะเข้าใจทันทีว่า อ้อ…
สิ่งที่ต้องการจริงๆ มันเป็นแบบนี้
??!!@@@!!]]&&$$
ต้องแก้ไข 1, 2, 3, 4
แล้วนักพัฒนามืออาชีพอย่างเรา
ก็ไม่พ้นต้องกระโดด
เข้าสู่วงจรการพัฒนาโปรแกรมอีกครั้ง
ครั้งแล้ว ครั้งเล่า….
จะเห็นว่าเราสูญเสียเวลา
ในวงจรการพัฒนานี้มากมาย เหลือเกิน
กว่าครึ่ง ของ แต่ละโครงการ
จนบางครั้ง ไม่อาจประมาณได้ว่า สูญเสียเวลาไปมากเท่าไหร่
จนหลายท่านเริ่มมีคำถามขึ้นว่า
น่าจะมีเครื่องมืออะไร? มาทำงานแทนเราได้ (ใหม?)
![]()
ไมโครซอฟท์
เข้าใจพวกเราดี
จึงได้สร้างเครื่องมือ ตัวนั้นขึ้นมา
LightSwitch เครื่องมือวิเศษ![]()
โปรแกรม LightSwitch พัฒนาโปรแกรมง่ายมาก
เพียงเรากำหนดฐานข้อมูลให้มัน
มันจะสามารถเข้าไปอ่านโครงสร้างฐานข้อมูล
แล้วนำไปสร้างหน้าจอโปรแกรม ให้เราอัตโนมัติพร้อมใช้งานทันที
Core Business
ทำให้นักพัฒนา มีเวลามากขึ้น
ที่จะไปเน้นจุดสำคัญจริงๆ ของโปรแกรม
โปรแกรมเสร็จเร็วขึ้น
ใช้เวลาน้อยลง
มีคุณภาพมากขึ้น
เนื่องจากถูกสร้างด้วยเทมเพลตมาตรฐานของ LightSwitch
นักพัฒนามืออาชีพ ก็จะมีความเป็นมืออาชีพมากยิ่งขึ้นไปอีก
LightSwitch Technologiess
หลายท่านเริ่มสงสัยว่า
LightSwitch เจ๋งขนาดนั้น
มันสร้างจากอะไรกัน?![]()
LightSwitch ถูกสร้างจากเทคโนโลยี
Silverligh+EntityFramework+RIA Service+C#,VB,XAML และ MVVM
จึงทำให้มันฉลาดพอที่
จะสร้างโปรแกรมอย่งอัตโนมัติ ให้เรา
โดยที่เราไม่จำเป็นต้องเขียนโค้ดโปรแกรม
มืออาชีพ อย่างเดียวไม่พอ
ถ้าเกิดผู้ใช้มีความต้องการว่า
อยากได้โปรแกรม หน้าจอ ประมาณนี้
![]()
มีเมนู, มีรายการ เมื่อเราคลิกบนรายการ, ให้แสดงรายละเอียด
ถ้าโปรแกรมมืออาชีพ ขั้นเทพอย่างพวกเรา
ใช้โปรแกรม Notepad+C# แน่นอนว่าโปรแกรมนี้
อาจใช้เวลาหลายสัปดาห์ หรืออาจจะไม่มีวันได้เกิด
แต่ถ้าใช้ VS2010 อาจจะใช้เวลาหลายวัน หรือหลาย ชั่วโมง
แล้วแต่ว่าเราเคยเขียนโปรแกรมในแบบนี้มาก่อนหรือไม่?…
เพราะประสบการณ์ หรือความคุ้นเคย อาจจะช่วยเราประหยัดเวลา
อะไร? ก็ตามถ้าเราเคยผ่านมาแล้ว จะรู้สึกว่าง่าย กว่า
แต่ถ้าหน้จอโปรแกรมนี้ เราใช้ LightSwitch เราจะใช้เวลา
เพียงไม่กี่นาที ไม่ว่าเราจะเคยพัฒนาโปรแกรมนี้มาก่อนหรือไม่ ไม่จำเป็น
เนื่องจาก LightSwitch สร้างให้เราอย่างอัตโนมัติ
ความคุนเคย หรือประสบการณ์ อาจไม่มีประโยชน์ ในส่วนนี้
เห็นความแตกต่างใหม? คุณผู้อ่าน
ไม่ว่าเราจะมืออาชีพ เพียงใดก็ตาม
แต่ถ้ารู้จักเลือกใช้เครื่องที่ทรงพลัง
มันช่วยประหยัดเวลา เราเยอะมากจริงๆ
LightSwitch กับการใช้งานจริง
ผมนำ LightSwitch ไปใช้งานจริง
โดยทำเป็น Front-ent ของระบบ ระบบหนึ่ง
ชื่อ Service Management System: SMS ![]()
เป็นโปรแกรมที่ผมพัฒนาให้กับบริษัทโฟลว์โก้ จำกัด
ที่ทำงานในปัจจุบันของผม
โดยโปรแกรม SMS Solution มี 3 โปรแกรม
- SMS Service
- SMS Manage
- SMS MINI
ซึ่ง SMS Solution เป็นโปรแกรมในการ จัดการการแจ้งซ่อมงาน
ให้กับปั้มน้ำต่างๆ ทั่วประเทศ
โดยลูกค้าจะแจ้งงานผ่าน Call center
โปรแกรม SMS Manage จะเป็นโปรแกรม เปิดงาน, จ่ายงาน,เข้างาน,ปิดงาน และรวมถึง
การประมวลผล ออกรายงานต่างๆ
ช่าง(VAN) ที่กระจายอยู่ทั่วประเทศ
จะใช้โปรแกรม SMS MINI ในการบันทึกปิดงาน
แล้ว Upload งานเข้าเซอร์ฟเวอร์
และ Manager หรือลูกค้าจะติดตามงาน( Service monitoring) ผ่านโปรแกรม
SMS Service
เกิดปัญหาบางอย่างว่า
Admin ที่ดูแลระบบ SMS Solution
ต้องการจัดการข้อมูลอะไร? บางอย่าง ของระบบ SMS Solution
ผมจึงนำ LightSwitch ไปเชื่อมต่อเข้ากับฐานข้อมูล
แล้วสร้างหน้าจอโปรแกรมอัตโนมัติให้ Admin ใช้งาน
เยี่ยมใหม?![]()
ตัวอย่างหน้าจอโปรแกรม
ผม Deploy เป็น WinApp โดยใช้ ClickOnce
ไม่จำเป็นต้องไปควบคุมเวอร์ชั่นโปรแกรมบนเครื่องผู้ใช้
เราควบคุมเวอร์ชั่นเดียว คือเวอร์ชั่นบนเซอร์ฟเวอร์
สามารถจัดการสิทธิ์
กำหนดว่าใคร เข้าถึงข้อมูลตัวใหนได้
ผ่าน User Loin
หน้าจอหลัก
หน้าจอจัดการข้อมูล
สามารเพิ่ม, แก้ไข, ลบข้อมูลได้ โดยที่เรายังไม่ได้เขียนโค้ดแม้บรรทัดเดียว
สามารถเชื่อมต่อเข้ากับโปรแกรม Excel อัตโนมัติ
มีบางรายงานที่ผู้ใช้งานขอบ่อยๆ
ผมจะสร้าง View บน MS SQL
แล้วกำหนด สร้างหน้าจอบน LightSwitch
ให้ผู้ใช้งานกรองข้อมูล ตามที่ตัวเองต้องการ
เพื่อ Export เป็น Excel แล้วนำไปใช้งาน วิเคราะห์ต่อในรูปแบบของ Excel ต่อไป
จะเห็นว่า…
LightSwitch คืคำตอบ
- ไม่ว่าเราจะเป็นนักพัฒนามืออาชีพ หรือ
- ผู้ดูแลระบบ หรือ
- ผู้ใช้งานทั่วไป
เราสามารถใช้ LightSwitch ในการสร้างโปรแกรม ได้อย่าง่ายดาย
เนื่องจาก มันประกอบด้วย:
Silverligh+EntityFramework+RIA Service+C#,VB,XAML และ MVVM
จึงทำให้เราสามารถสร้างโปรแกรม ที่มีคุณภาพ ในระดับมืออาชีพ ได้อย่างง่ายดาย
เสมือนหนึ่ง ใช้เพียงปลายนิ้ว ผลักสวิตช์ไฟ
Slide & Video:
Slide Link {Microsoft TechDays Thailand 2012-02-17} :
http://slidesha.re/Ms-Techday12-LS
Video Link: {Microsoft TechDays Thailand 2012-02-17} :
http://bit.ly/Ms-Techday12-LS-D1
http://bit.ly/Ms-Techday12-LS-D2
Video ใน session Developer{ผู้ฟังถ่านทำกันเอง(โดย: อ.บอล แห่ง CodeToDay)}
http://www.youtube.com/codetoday
ผู้เขียน
** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: http://janawat.wordpress.com
Nuchit’s Profile @microsoft https://mvp.support.microsoft.com/profile/nuchit
Facebook: https://www.facebook.com/nuchit
Twitter: http://twitter.com/janawat
วิธีแก้ปัญหาการ Login ด้วย sa ล้มเหลว
มีสองเหตุผลที่ทำให้ผู้ใช้งาน sa ไม่สามารถใช้งานได้
- โดยค่าเริ่มต้นผู้ใช้งาน sa ถูกปิดการใช้งาน (disabled)
- โหมดรับรองความถูกต้อง(Authentication)
โดยค่าเริ่มต้นจะเป็นโหมด Windows (Windows Authentication)
ฉะนั้นเราต้องทำการเปิดการใช้งานสำหรับผู้ใช้งาน sa และกำหนด
โหมดรับรองความถูกต้องเป็น SQL Server and Windows Authentication
เพื่อให้สามารถเข้าระบบผ่าน ผู้ใช้งาน sa ได้
ดังนี้
1. เข้าระบบด้วย โหมด Windows Authentication![]()
2. คลิกขวา=> Properties, กำหนดโหมด Authentication เป็น
SQL Server and Windows Authentication
3.เปิดการใช้งาน ผู้ใช้งาน sa
คลิกแทบ Security =>คลิกขวาผู้ใช้งาน sa => Properties![]()
4. เลือกแทบ Status=> ในกลุ่ม Login: เลือก Enabler=> คลิก OK![]()
5.ถ้าต้องการ เปลี่ยน password ของ sa ใหม่
ให้คลิกแทบ General แล้วป้อน password ใหม่ลงไป![]()
6. Restart SQL Service 1 ครั้ง
9. เข้าระบบโดยการเลือกโหมด SQL Server and Windows Authentication
ป้อน ผู้ใช้งาน sa และ password
10. การ Enable sa สามารถรันผ่าน SQL Command ดังนี้![]()
–:จบบริบูรณ์:–
ผู้เขียน
** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: http://janawat.wordpress.com
Nuchit’s Profile @microsoft https://mvp.support.microsoft.com/profile/nuchit
Facebook: https://www.facebook.com/nuchit
Twitter: http://twitter.com/janawat
Microsoft.LightSwitch.DataServiceOperationException: Load operation failed for query
Posted by janawat in LightSwitch on 10/01/2012
VSLS ในการรันโหมด Debug
ถ้าคุณกำหนด Permissions ในการเข้าถึงข้อมูล
เช่น กำหนด Permissions ในการโหลดข้อมูล ตาราง JOB
โดยผู้ใช้งานที่จะโหลดข้อมูลในตาราง JOB ได้
ต้องมี Permissions ชื่อ Can_Excecute_Transaction![]()
คุณจะได้รับข้อผิดพลาด ดังนี้:
{Microsoft.LightSwitch.DataServiceOperationException: Load operation failed for query ‘JOBs_All’. Exception of type ‘System.ServiceModel.DomainServices.Client.DomainOperationException’ was thrown. —> System.ServiceModel.DomainServices.Client.DomainOperationException: Load operation failed for query ‘JOBs_All’. Exception of type ‘System.ServiceModel.DomainServices.Client.DomainOperationException’ was thrown.
— End of inner exception stack trace —
เนื่องจากการรันในโหมด Debug จะใช้ User ชื่อ Test User
ซึ่งไม่มี Permissions ชื่อ Can_Excecute_Transaction ดังกล่าว
จึงไม่มีสิทธิ์เข้าถึงข้อมูล JOB![]()
คุณสามารถกดปุ่ม F5 อีกครั้ง เพื่อข้ามข้อผิดพลาดไป
โดยโปรแกรมสามารถทำงานได้ตามปกติ
แต่ถ้าคุณจำเป็นต้องรันทดสอบโปรแรกม บ่อยครั้ง
เจอข้อผิดพลาดบ่อยๆ ก็น่ารำคัญมิใช่น้อย
คุณสามารถยกเลิกข้อผิดพลาดดังกล่าวได้
โดยคลิกเมนู Debug = > Exceptions…![]()
ในหน้าต่าง Exceptions ให้ติ๊ก Common Langauge Runtime Exceptions ออก
แล้วคลิก OK![]()
ในการรันโปรแกรมโหมด Debug ครั้งต่อไป ก็จะไม่มีข้อผิดพลาด
ให้รบกวนตาอีกต่อไป
คุณจะสังเกตเห็นว่า ข้อมูล JOBs จะไม่มีข้อมูล
ใน DataGrid จะมีไอคอนกากาบาทสีแดง
–:จบบริบูรณ์:–
ผู้เขียน
** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: http://janawat.wordpress.com
Nuchit’s Profile @microsoft https://mvp.support.microsoft.com/profile/nuchit
Facebook: https://www.facebook.com/nuchit
Twitter: http://twitter.com/janawat
Visual Studio LightSwitch set font by create new theme
Posted by janawat in LightSwitch on 05/01/2012
จากบทความ
Visual Studio LightSwitch DataGrid Change Font Style
คุณผู้อ่านได้ทราบแล้วว่า
LightSwitch(LS) เวอร์ชั่น 1 (Visual Studio LightSwitch 2011)
ยังไม่รองรับการเปลี่ยนฟอนต์ ผ่านหน้าจอออกแบบ
แต่ก็พอจะมีวิธีการเปลี่ยนมันบ้างพอสมควร
เพียงว่าต้องลงแรงสักเล็กน้อยเท่านั้น
เช่น
- การปรับ Font Style เป็น Heading1:
https://janawat.wordpress.com/2011/12/25/visual-studio-lightswitch-datagrid-change-font-style/ - การปรับ Font โดยการเขียนโค้ด:
https://janawat.wordpress.com/2011/12/27/visual-studio-lightswitch-change-font/ - การปรับเปลี่ยนฟอนต์โดยการสร้างธีมใหม่ ซึ่งเป็นเนื้อหาที่กำลังจะกล่าวในบทความต่อไปนี้
ซึ่งในสองวิธีแรกการเปลี่ยนฟอนต์ดังกล่าว
ก็พอจะทำให้คุณผู้อ่านสามารถใช้ LS
สร้างโปรแกรมที่สนับสนุนภาษาไทย
แต่มีข้อเสียคือ คุณผู้อ่านต้องทำทีละหน้าจอ(Screen)
เป็นการเปลืองพลังงานพอสมควร
สิ่งที่จำเป็น
- Visual Studio Professional 2010 (or higher) with SP1
- Visual Studio LightSwitch 2011
- Visual Studio 2010 SP1 SDK
- LightSwitch Extensibility Toolkit
เราไปดูการเปลี่ยนฟอนต์โดยการ สร้างธีมกันบ้าง
ดังนี้:
สร้างโปรเจ็กต์
1. สร้างโปรเจ็กต์ LS ด้วย Extensibility แล้วเลือกภาษาที่ถนัด
ตั้งชื่อโปรเจ็กต์ตามต้องการ ในที่นี้ใช้ชื่อ JanawatTheme![]()
2.เมื่อกด OK คุณผู้อ่านจะได้โครงสร้างโปรเจ็กต์ดังรูป![]()
3.จากนั้นคลิกขวาบนโปรเจ็กต์
JanawatTheme.Lspkg => เลือก Add => เลือก New Item…![]()
4. เลือกไอเทม Theme=> ตั้งชื่อธีมตามต้องการ
ในที่นี้ใช้ JanawatTheme (ชื่อเดียวกับโปรเจ็กต์)![]()
5.VSLS จะพาคุณผู้อ่านเข้าไปที่โปรเจ็กต์ JanawatTheme.Client
โฟลเดอร์ Presentation => Themes
คุณผู้อ่านจะเห็นธีม JanawatTheme.xaml
ซึ่งเป็นไฟล์ XAML กำหนดสไตล์ของคอนโทรลนั่นเอง![]()
6.เมื่อคุณผู้อ่านเปิดดูไฟล์ JanawatTheme.xaml จะเห็นว่า
ฟอนต์ค่าเริ่มต้น(Default) คือ Segoe UI, Arial
ขนาดฟอนต์เริ่มต้น 11
![]()
เปลี่ยนฟอนต์ใหม่
7.เปลี่ยนฟอนต์ใหม่ตามที่ต้องการ
โดยการเปลี่ยนชื่อฟอนต์ ???FontFamily และ
ถ้าต้องการเปลี่ยนขนาด
สามารถใส่ตัวเลขที่ต้องการลงไปใน ???FontSize
ปล. ??? เป็นชื่อของสไตล์ เช่น
NormalFontFamily, Heading1FontFamily เป็นต้น
การเปลี่ยนฟอนต์ โดยการแทนที่(Replace)
- โดยการ Copy Segoe UI, Arial
- แล้วกดปุ่ม Ctrl+H บนคีย์บอร์ด
- ว่าง Segoe UI, Arial ในช่อง Find what:
- พิมพ์ Tahoma ในช่อง Replace with
- เราจะกระทำเฉพาะในไฟล์ (JanawatTheme.xaml) นี้เท่านั้น
- หลังจากนั้นแทนทีทั้งหมดในไฟล์นี้โดย
การกดปุ่ม Replace All
การติดตั้ง Extensions
9. หลังจากนั้น Build Solution 1 ครั้ง
ให้เปิดไปที่โฟลเดอร์ของโปรเจ็กต์ JanawatTheme.Vsix
เพื่อติดตั้ง Extensions ธีมของเราเข้าไปบน VSLS![]()
10. เข้าไปที่โฟลเดอร์ JanawatTheme.Vsix\bin\Debug
แล้วเปิดไฟล์ JanawatTheme.vsix เพื่อติดตั้ง![]()
11. หน้าต่าง Visual Studio Extension Install คลิก Install![]()
13.จากนั้นเปิดโปรเจ็กต์เก่าที่เคยสร้างไว้ หรือ
สร้างโปรเจ็กต์ใหม่ ในที่นี้เป็นการเปิดโปรเจ็กต์เก่า
ที่เคยสร้างไว้แล้ว![]()
เปิดใช้งานธีม
14.คลิกขวาบนโปรเจ็กต์ => properties
บนหน้าจอการออกแบบ=>คลิกแทบ Extensions
ติ๊กเลือก JanawatTheme![]()
15. คลิกแทบ General Properties
คลิกดรอปดาวน์ Theme เลือกธีม JanawatTheme![]()
![]()
16. รันโปรแกรม ทดสอบภาษาไทย
จะเห็นว่าภาษาไทยตัวอักษรใหญ่ขึ้น![]()
17.ลองปรับเปลี่ยน Label
แสดงเป็นภาษาไทย![]()
18. จะเห็นว่าทั้งหน้าจอ
แสดงผลภาษาไทยได้ดียิ่งขึ้น
ทั้งคอนโทรลบน DataGrid, Label หรือ TextBox
โดยที่เราไมาต้องเขียนโค้ด![]()
จะเห็นว่าในวิธีที่สาม การสร้างธีม
เราสามารถเปลี่ยนฟอนต์ ได้ทั้งโปรแกรม
เพียงแค่กำหนดเปิดใช้ธีม
ที่เราทำการปรับฟอนต์เรียบร้อยแล้วเท่านั้น
คุณผู้อ่านก็จะมีความสุขมากขึ้นในการสร้างโปรแกรมด้วย LS
แหล่งข้อมูลดาวน์โหลด:
- JanawatTheme Theme – SkyDrive: http://bit.ly/wzlyfQ
แหล่งข้อมูลอ้างอิง:
- Walkthrough: Creating a Theme Extension:
http://msdn.microsoft.com/en-us/library/hh290139.aspx
ผู้เขียน
** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: http://janawat.wordpress.com
Nuchit’s Profile @microsoft https://mvp.support.microsoft.com/profile/nuchit
Facebook: https://www.facebook.com/nuchit
Twitter: http://twitter.com/janawat
เราจะเป็นอย่างที่เราคิด…
Posted by janawat in โปรแกรมจิตสำนึก on 31/12/2011
เมื่อวันที่ 25 ก.ย. 2550 เวลา 17:54 น.
บทความ – Uploads excel files to SQL DB
http://greatfriends.biz?62078
ได้ถือกำเนิดขึ้นบนเว็บบอร์ด GreatFriends.Biz:http://greatfriends.biz
และนั่นเป็นจุดเริ่มต้น ของเรื่องนี้
จุดเริ่มต้น แห่งการแบ่งปัน, การแลกเปลี่ยน,
การเรียนรู้สำหรับผม บนโลกออนไลน์
และเป็นจุดเริ่มต้น ในการเป็น Windows IT Pro Columnist
หลังจากที่ก่อนหน้านี้…
ได้เข้าร่วมถาม-ตอบ-แลกเปลี่ยน-ความรู้กับเพื่อนๆ บน GF อยู่พักหนึ่ง
เห็นเพื่อนบางท่าน โพสกระทู้เป็นบทความ
เห็นแล้วอ่าน อ่านแล้วได้ความรู้ดี
จึงเกิดความคิด อยากเขียนบ้าง (คนเขียนน่าจะได้ความรู้กว่า)
ประกอบกับช่วงนั้นได้ยินคำว่า MVP บ่อยครั้ง
ตอนแรกๆ คิดว่า น่าจะเหมือนๆ กับ ที่นั่ง VIP ประมาณั้น
แต่ระยะหลังๆ เมื่อเข้าร่วมกิจกรรมของ GF บ่อยครั้ง
ทำให้ได้เจอ MVP ตัวเป็นๆ รู้สึกว่ามันเท่จัง เกิดความอยากเป็นบ้าง
3 ก.ค. 2549
ขอแสดงความยินดีกับ Thailand MVP ใหม่ของเราครับ – นาย (Nine)
http://greatfriends.biz?18646
2 เม.ย. 2550
ยินดีกับ มี่ MVP
http://greatfriends.biz?42328
1 เม.ย. 2552
New MVP!! ดีใจกับ Bunpote_tt ด้วยครับ
http://greatfriends.biz?103388
จึงแอบถาม ว่าเป็น MVP ได้อย่างไร?…
ได้คำตอบสรุปประมาณว่า MVP เป็นผู้ที่ มีจิตอาสา
คือนอกจากมีความรู้แล้ว
ไม่งกเก็บไว้คนเดียว แล้วให้มันเลือนหายไปพร้อมกับกาลเวลา
แต่รู้จักเผื่อแผ่ให้กับคนรอบข้าง ให้กับสาธารณะ
และถามต่อว่าเผื่อแผ่อย่างไร?…
ก็ได้คำตอบว่า…
ตอบกระทู้, ร่วมกิจกรรม, เขียนบทความ, เป็นวิทยากร แค่นี้แหละ (เยอะนะ คิดเอง)
ถ้าผลงานเข้าตาไมโครซอฟต์ ก็มีสิทธิ์ถูกเสนอชื่อ แต่ตั้งเป็น MVP
ได้ยินเท่านั้น ไฟลุกท่วมหัว อยากเป็น MVP
แต่ไม่เคย(กล้า)บอกใคร
เพียงบอกให้จิตใต้สำนึกรับรู้ ด้วยการคิด
คิดว่า
“อยากเป็น อยากเก่ง อยากเท่เหมือน MVP”
”เราจะเป็น MVP”
ทำทันที
เมื่อคิดแล้ว ไม่ปล่อยให้จิตสำนึกทำงานเพียงลำพัง
แต่เราเอง ต้องทำทันที เช่นกัน
โดยตอบกระทู้กระจาย (ทำสถิติสูงสุด 500 กระทู้/เดือน)
เขียนบทความอย่างต่อเนื่อง
ผ่านไปหนึ่งปี รู้สึกว่า น่าจะลองเขียนลงนิตยสารบ้างนะ
จึงเมล์ติดต่อไปที่ นิตยสาร WindowsITPro
ทางบก.ถามกลับมาว่า คนที่จะเขียนฯ ต้องเป็นคนที่
มีประสบการณ์โดยตรงกับเรื่องที่เขียน และเคยเขียนที่ใหนบ้าง
จึงอ้างอิงบทความบน GF …
ทางบก.จึงให้ลองส่งตัวอย่างให้พิจารณา
4 พค. 2551
บทความฉบับแรก ลงตีพิมพ์นิตยสารฯ ในบทความชื่อ
สร้างแอพพลิเชั่นง่ายๆ ด้วย Silverlight 2 RIA, WCF และ LINQ
หลังจากนั้นทางบก. เรียนเชิญให้เขียนบทความประจำ จนถึงปัจจุบัน

ด้วยการตอบกระทู้กระจาย
เขียนบทความอย่างต่อเนื่อง
ตั้งแต่ปี 2550 ถึง 2552
ผลงานเข้าตาไมโครซอฟท์
ได้เป็น MVP (ตามที่คิด)
2 ก.ค. 2552
![]()
ขอแสดงความยินดี คุณ nano MVP คนใหม่รอบ July 2009 ครับ
http://greatfriends.biz?109645
คาถาประจำใจ
ผมมีคาถาประจำคือ
คาถา => เปลี่ยนเป็นคำว่า อาสา
ด้วยจิตอาสา
หลังจากได้เป็น MVP
สิ่งหนึ่งที่ได้คือ วิธีการเรียนรู้
ไม่ว่าจะเป็น Columnist, เขียนบล็อก, ตอบปัญหาด้าเทคนิคคอล, เป็น Community Leader, และเป็นผู้บรรยาย
ล้วนทำให้เราได้เรียนรู้ อย่างต่อเนื่อง…
และเมื่อเราศึกษาอย่าต่อเนื่อง
เราจะเป็นคนที่มีวินัยตัวเองมากขึ้น
สามารถทำงานได้เร็วขึ้น
สมองคิดไวขึ้น
คิดบวกมากขึ้น
มองเห็นคำตอบในทุกปัญหา
และคุณจะขยันมากขึ้น มากขึ้น
ทำงานอย่างรวดเร็ว กระตือรือร้น
แน่นอน หัวหน้างานต้องชื่นชอบ
ความก้าวหน้าในหน้าที่การงาน
จะไปใหนเสีย
นี่คือสิ่งเล็กๆ น้อยๆ ที่ผมเชื่อเสมอว่า
เราจะเป็นอย่างที่เราคิด…
อายุที่เราได้มา คือวันเวลาที่เราเสียไป
สิ่งเดียวในโลก ที่ไม่สามารถรีไซเคิล คือวันเวลาเมื่อวันวาน
แล้วในปีใหม่นี้ คุณคิดไว้อย่างไร?…
สำหรับผมคิดไว้ 8 ข้อ ที่จะทำในปี ๒๕๕๕
สวัสดีปีใหม่ ๒๕๕๕
เป็นบทความฉบับแรกต้อนรับปีใหม่ 2555
ขอสวัสดีปีใหม่
ให้ผู้อ่านทุกท่าน
จงมีแต่ความสุข
ความโชคดีดี
ตลอดปี และตลอดไป
เป้าหมายปี 2555
เป้าหมายปี 555 (ปีแห่งความสุข)
1. นอน 4 ทุ่ม ตื่นตี 4
2. อ่านหนังสืออย่างน้อยสัปดาห์ละ 1 เล่ม (เพื่อพัฒนาตนเองให้ดีขึ้น…)
3. พัฒนาซอฟต์แวร์ (Data Exchange…, Tool view report…, Service…, Inventory…)
4. แตะบอลกับชมรมฟุตซอลบริษัทสัปดาห์ละ 1 ครั้ง ()
5. ทำสมาธิ…ก่อนนอน…โดยนอนสมาธิ…(เพื่อล้างขยะออกจากหน่วยความจำบ้าง)
6. พูดดีกับตัวเอง…ก่อนนอนและหลังตื่นนอน,…ยิ้มทุกๆนาที…เดิน,นั่งทำงาน,หรือคุยกับใคร…เพื่อให้ใจ(จิตสำนึก) มีความสุขทุกๆ วัน (เติมข้อมูลดีดีเข้าไปในหน่วยความจำ)
7. เปิดหลักสูตร Visual Studio LightSwitch
8. Microsoft MVP ปีที่ 4
Visual Studio LightSwitch change font
Posted by janawat in LightSwitch on 27/12/2011
จากบทความ Visual Studio LightSwitch Default NewEditeScreen: http://bit.ly/vBEc7V
เราได้ทิ้งท้านกันไว้ว่า จะไปกำหนดฟอนต์ ให้หน้าจอ Create New Customer…
ที่เราสร้างขึ้น…เพื่อให้ข้อมูลภาษาไทย…แสดงขนาดใหญ่ขึ้น…อ่านง่ายขึ้น…โดยไม่ต้องพึ่งแว่นขยาย
บทความนี้เราจะไปเปลี่ยนฟอนต์ให้คอนโทรลต่างๆ บนหน้าจอ Create New Customer…
![]()
รูป CreateNewCustomer Screen Designer
เนื่องจากว่าด้วยตัวเครื่องมือ Visual Studio LightSwitch (VSLS) ยังไม่ซัพพอร์ต การเปลี่ยนฟอนต์
ผ่านหน้าจอการออกแบบ ฉะนั้นเราจึงต้องออกแรงนิดหน่อย ในการเขียนโค้ด เพื่อใส่ฟอนต์ให้มัน
วิธีการดังนี้
- หมายเลข(1) เปิดหน้าจอ CreateNewCustomer
- หมายเลข(2) เข้าไปเขียนโค้ด โดยคลิกลงบนเมนู Write Code
- หมายเลข(3) คลิก CreateNewCustomer_Created
คุณผู้อ่านจะเข้าสู่หน้าต่างการเขียนโค้ด…
โดย VSLS เตรียมเมธอดให้เรียบร้อย…ว่าผู้อ่านต้องเขียนโค้ดที่ใหน…
![]()
การเข้าถึงคอนโทรลต่างๆ บน VSLS จะใช้เมธอด FindControl() และ…
แนบ(attaching) อีเว้นต์ ControlAvailable เพื่อการเข้าถึง และตั้งค่าตัวคอนโทรล…
การ Attach อีเว้นต์ ControlAvailable ทำดดนการพิมพ์เครื่องหมาย += แล้วกดปุ่ม TAB บนคีย์บอร์ด
VSLS จะสร้างอีเว้นต์ CreateNewCustomer_ControlAvailable(…) ให้เราอัตโนมัติ
จากนั้นไปหาชื่อคอนโทรล ไปใส่ในเมธอด FindControl(“ชื่อคอนโทรล”)
แล้วเขียนโค้ดให้สมยูรณ์ดังนี้:…
โค้ดดิ้ง:
…
1: partial void CreateNewCustomer_Created() 2: { 3: // Write your code here. 4: //สร้างอีเว้นต์ ControlAvailable 5: this.FindControl("CustomerID").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 6: this.FindControl("CompanyName").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 7: this.FindControl("ContactName").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 8: this.FindControl("ContactTitle").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 9: this.FindControl("Address").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 10: this.FindControl("City").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 11: this.FindControl("Region").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 12: this.FindControl("PostalCode").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 13: this.FindControl("Country").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 14: this.FindControl("Phone").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 15: this.FindControl("Fax").ControlAvailable += new EventHandler<ControlAvailableEventArgs>(CreateNewCustomer_ControlAvailable); 16: 17: } 18: 19: void CreateNewCustomer_ControlAvailable(object sender, ControlAvailableEventArgs e) 20: { 21: //throw new NotImplementedException(); 22: 23: //แปลงค่าอีเว้นต์อาร์คิวเมนต์คอนโทรล เป็น Windows Control 24: var ctr = (System.Windows.Controls.Control)e.Control; 25: if (ctr != null)// ถ้าเป้นคอนโทรล 26: { 27: //ใส่ฟอนต์ใหม่ให้มัน 28: ctr.FontFamily = new System.Windows.Media.FontFamily("Tahoma"); 29: //กำหนดขนาดตัวอักษร 30: ctr.FontSize = 16; 31: } 32: }
…
เมื่อเขียนโค้ดเสร็จแล้ว…รันโปรแกรม…
ลองแก้ไข…
จะเห็นว่าหน้าจอ Create New Customer แสดงตัวอักษรภาษาไทยที่อ่านได้ง่ายขึ้น…
ลองกดเมนูเพิ่มข้อมุลใหม่…
เช่นกันหน้าจอ Create New Customer ก็แสดงผลถาษาไทยได้น่าพึงพอใจ…
–:จบบริบูรณ์:–
ผู้เขียน
** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: http://janawat.wordpress.com
Nuchit’s Profile @microsoft https://mvp.support.microsoft.com/profile/nuchit
Facebook: https://www.facebook.com/nuchit
Twitter: http://twitter.com/janawat
Visual Studio LightSwitch Default NewEditeScreen
Posted by janawat in LightSwitch on 26/12/2011
จากบทความ: Visual Studio LightSwitch DataGrid Change Font Style: http://bit.ly/vcku1a
จะเห็นว่าเมื่อคุณผู้อ่านกำหนดฟอร์นของ DataGrid ได้แล้ว…แต่มีปัญหาใหม่เกิดขึ้นคือ ไม่สามารถแก้ไข…
ข้อมูลผ่าน DataGrid ซึ่งขนาดฟอร์นของตัวอักษรใหญ่กว่า…เมื่อท่านผู้อ่านเข้าผ่านเมนูเพิ่ม และแก้ไข ![]()
จะเห็นว่ามีหน้าจอป้อนข้อมูลใหม่ แสดงขึ้น… ทดสอบป้อนข้อมูลภาษาไทยลงไป…
ต้องใช้แว่นขยายช่วยส่อง…จึงสามารถอ่านได้อย่างสบายตา…
เมนูแก้ไข ก็เช่นกัน…ไม่พ้นแว่นขยาย…
บทความนี้เรามาใช้หน้าจอ เพิ่ม+แก้ไข ของตัวเอง…
ที่ผ่านการปรับฟอนต์ให้ใหญ่ขึ้น…ดังนี้:
1. เพิ่มเทมเพลตหน้าจอ New Data Screen![]()
2. เข้าสู่หน้าต่าง Screen Designer…![]()
3.เพิ่มพรอเพอร์ customerID…โดยคลิกเมนู Add Data Item บนหน้าต่าง Screen Designer…
เลือก Local Property => Type = String
Name= ระบุ customerID => คลิก OK![]()
4.กำหนดให้เป็น Parameter (Is Parameter = true), กำหนดให้เป็น null ได้ (Is required = false)![]()
5.เปิดหน้าจอ EditableCustomersGrid…ขึ้นมา คลิกฟิลด์ CustomerID กำหนดให้แสดง Link(Show as Link = true)…
Target Screen = หน้าจอที่ต้องการ ในที่นี้คือ Default![]()
6.ไปกำหนด Default Screen ให้ Entity Customer…
โดยเปิดตาราง Customers…=> ไปที่หน้าต่าง Properties=> Default Screen เลือก CreateNewCustomer![]()
7.เพิ่ม DataItem … แต่เลือกเป็น Query และเลือก NORTHWINDDataCustomer_single เพื่อโหลดข้อมูลไปแสดงบนหน้าจอ New Data Screen…![]()
8.ไปที่ Query parameter กำหนด Parameter binding ให้เป็น customerID… พรอเพอร์ตี้ที่เราได้เพิ่มไว้ก่อนหน้านี้…![]()
10.บนหน้า CreateNewCustomer=>คลิก Write Code=>คลิก CreateNewCustomer_InitializeDataWorkspace…
แล้วใส่โค้ดลงไป…![]()
11.ในการเปิดหน้าจอบน LS บนเมนู Add ทำได้โดยการไปใส่โค้ดให้มัน…
โดยคลิกขวาบนปุ่ม Add=>เลือกเมนู Overide Code![]()
12. แล้วใส่โค้ดลงไป…
จะเห็นว่าปุ่ม Add เราจะผ่าน Parameter ที่เป็น customerID เป็นค่า null![]()
13. ส่วนโค้บนปุ่ม Edit คลิกขวาบนปุ่ม Edit =>เลือกเมนู Overide Code…แล้วใส่โค้ดังนี้
สำหรับปุ่มแก้ไข…เราต้องผ่าน Parameter customerID ด้วย ฉะนั้นเราต้องดึงข้อมูล แถวที่ถูกเลือก ณ ปัจจุบันของ DataGrid ขึ้นมาก่อน…
แล้วแปลงค่าเป็นอ็อบเจ็กต์ Customer จากนั้นเช็กข้อมูลนิดนึ่งว่า มันมีข้อมูลอยู่ … แล้วผ่าน CustomerID เข้าไป![]()
14.เสร็จแล้วรันโปรแกรม…
สังเกตุบนคอลัมน์ CustomerID จะมี Link … เนื่องจากเราสั่งให้ Show link ในข้อ 5…![]()
14.เมื่อคลิกลงบนรหัส…
หน้าต่าง Create New Customer จะถูกเปิดขึ้นมา…
แต่เป็นหน้าที่เราสร้างขึ้นมาเอง…และข้อมูลที่๔ุกโหลดเข้ามาในหน้าจอคือโค้ดโปรแกรมในข้อ 10…![]()
15.เมื่อคลิกเมนู Add New…
หน้าต่าง Create New Customer จะถูกเปิดขึ้นมา…ว่างเปล่า…
เนื่องจากในข้อ 12 โค้ดโปรแกรม ผ่าน Parameter customerID เป็นค่า null…![]()
16.เลือกแถวข้อมุลที่ต้องการก่อน…
จากนั้นคลิกเมนู Edit…
หน้าต่าง Create New Customer จะถูกเปิดขึ้นมา…
พร้อมกับข้อมูลของ Customer…เนื่องจากโค้ดโปรแกรมในข้อ 13. เราผ่าน Paramert CustomerID เข้าไปด้วย…![]()
แล้วพบกันในตอนต่อไป…
เราจะไปกำหนดฟอนต์ ให้หน้าจอ Create New Customer … ที่เราสร้างขึ้น…
เพื่อให้ข้อมูลภาษาไทย…แสดงขนาดใหญ่ขึ้น…อ่านง่ายขึ้น…
ผู้เขียน
** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: http://janawat.wordpress.com
Nuchit’s Profile @microsoft https://mvp.support.microsoft.com/profile/nuchit
Facebook: https://www.facebook.com/nuchit
Twitter: http://twitter.com/janawat
Visual Studio LightSwitch DataGrid Change Font Style
Posted by janawat in LightSwitch on 25/12/2011
IDE ของโปรแกรม LightSwitch(LS) ยังไม่สนับสนุนการเปลี่ยนฟอนต์…
ถ้าคุณผู้อ่านต้องการเปลี่ยนฟอนต์…ทั้งแอปฯ…
ต้องสร้าง Theme และกำหนดฟอนต์ที่ต้องการลงไป…
ซึ่งมันเป็นงานที่หนักเปลื้องพลังงานมากเกินไป…
ในที่นี้เราจึงใช้ฟอนต์ตามดีฟอลต์ไปก่อน …
และสำหรับภาษาไทยแล้ว เมื่อแสดงผ่านหน้าจอ…
ตัวอักษรเล็กมาก เวลาอ่านต้องใช้แว่นขยายช่วย…
แต่ตัวเครื่องมือ LS ก็ยังเปิดโอกาศให้ปรับเปลี่ยน Font Style ได้บ้าง…มีสองวิธีคือ
- การปรับ Font Style (ใช้ได้เฉพาะคอนโทลที่สามารถอ่านอย่างเดียว เช่น TextBlock)
- เขียนโค้ดเปลี่ยนฟอนต์ของคอนโทรล (จะนำเสนอในโอกาศต่อไป)
ไปดูตัวอย่างการปรับ Font Style บน DataGride กันครับ
1. สร้างโปรเจ็กต์ด้วย LightSwitch
2. กำหนดแหล่งข้อมูลที่มีอยู่แล้ว (Attach to external Data Source)
5.คุณผู้อ่านจะเข้าสู่หน้าต่าง Customer Entity designer![]()
8.เข้าสู่หน้าต่าง Screen Designer…![]()
9.รันโปรแกรม…ทดสอบป้อนข้อมูลภาษาไทยลงไป…
ตัวเล็กมาก…จนต้องใช้แว่นขยายช่วย![]()
10.เข้าไปปรับเปลี่ยน ฟอนต์ในขณะรันโปรแกรมโดยคลิกบนเมนู Design Screen…![]()
11.โดยดีฟอลต์ Data grid row จะเป็นคอนโทรล TextBox…
นั่นคือเราสามารถป้อนข้อมูล…แก้ไขข้อมูลลงบน DataGrid ได้เลย…
ดูที่หน้าต่าง Properties จะเห็นว่าพรอเพอร์ตี้ Use Read-only control ยกเลิกอยู่…![]()
12.ให้เลือกพรอเพอร์ตี้ Use Read-only control …
สังเกตุคอนโทรลของ Data Grid Row จะกลายเป็น TextBlock (หรือ Label)…
ที่ไม่สามารถป้อนข้อมูลได้นั่นเอง…![]()
13.เมื่อเราปรับคอนโทรลเป็น TextBlock แล้ว…
จึงสามารถเปลี่ยน Font Style ได้![]()
14. เปลี่ยน Font Style เป็น Heading1![]()
17.มันจะกลับมาในหน้าจอโปรแกรมปกติ…
จะเห็นว่าข้อความที่เป็นภาาาไทยใหญ่ขึ้น…
สามารถอ่านออก โดยไม่ต้องอาศัยแว่นขยายแล้ว![]()
18.และทุกอย่างที่เราปรับแต่งในโหมดรันไทม์…
จะถูกบันทึกกลีบมาที่ VS2010 ด้วย…![]()
–:จบบริบูรณ์:–
ผู้เขียน
** รู้จักกับผู้สอน อ.นุชิต **
JANAWAT Blog: http://janawat.wordpress.com
Nuchit’s Profile @microsoft https://mvp.support.microsoft.com/profile/nuchit
Facebook: https://www.facebook.com/nuchit
Twitter: http://twitter.com/janawat

ความเห็นล่าสุด