โปรแกรม เสียงระฆังแห่งสติ


คนเราเกิดมา
พ่อแม่ สอนให้เป็นคนดี
การเป็นคนดีได้ นั้น
ยอดเยี่ยม

แต่สิ่งที่ยอดเยี่ยมกว่า คือ
มนุษย์ เป็นสิ่งมีชีวิต ที่
สามารถสอน ตัวเอง
ให้คิดในทางบวกมากขึ้นๆ…ๆ….
ให้กลายเป็นคนดี
เยี่ยมขึ้นไปอีก

เราสามารถสอนตัวเราเองได้
ด้วยการฝึกสติ (แม้ในขณะปฏิบัติงาน)

ผมพัฒนาโปรแกรม
เสียงระฆังแห่งสติ ขึ้นมา
เพื่อฝึกสติในขณะ แม้ปฏิบัติงาน

เพื่อสอนตัวเอง
ให้รู้จักใช้ชีวิต อย่างมีชีวิต
ให้รู้จัก ดึงความคิด
ออกจากข้อมูลขยะ
ใน อดีต และอนาคต
ให้มาอยู่ตรงหน้า ข้อมูลจริง (ในปัจจุบันขณะ)
ให้ มีความสุข
ทุกขณะปัจจุบัน (แม้ในยามปฏิบัติงาน)

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

ถ้าได้ฝึกหยุดคิดบ่อยๆ (ด้วยการฟังเสียงระฆัง 3- 5 วินาที)
จะช่วยให้สมองได้พักผ่อน (Restart)
เป็นการเคลียร์ข้อมูลขยะ(Temp) ออกไป
สมองจะเหลือพื้นที่มากพอ
สำหรับการประมสวลผล ในเรื่องที่จำเป็นจริงๆ

 

และนี่คือโปรแกรม เสียงระฆังแห่งสติ
image

ฟีเจอร์

  • ไม่มีอะไร นอกจาก(เล่น) เสียงระฆัง

การทำงาน

  • ตั้งเวลาสำหรับเสียงระฆังเป็นนาที (ดีฟอลต์ที่ 15 นาที)
  • เมื่อกดปุ่ม Start เวลาจะเริ่มวิ่ง
  • เมื่อครบ 15 นาที เสียงระฆังจะดัง เสียงค่อย 1 ครั้งเป็นการปลุกระฆัง
  • เมื่อสิ้นเสียงปลุก เสียงระฆังกังวานจะดังขึ้น
  • ให้หยุดทุกอย่างที่ทำตรงหน้า (หยุดแม้แต่ความคิด)
  • ให้หันมาสนใจเสียงระฆังอย่างเดียว โดย
    • > หายใจเข้า ให้รู้สึกสบาย
    • > หายใจออก ให้รู้สึกผ่อนคลาย
    • > 3 ครั้ง ให้ผ่อนคลายที่สุด และ
    • > ฟังเสียงระฆัง ติดตาม จนลึกสุดเสียง เงียบหายไป
    • > แล้วจึงกลับมาทำงานตรงหน้าต่อ

สิ่งที่ได้

  • หันมาดูแลตัวเอง
  • รักตัวเอง
  • ฝึกหยุดความคิด ด้วยการหยุดประมวลผลข้อมูลขยะ (ในอดีต และอนาคต)
  • ฝึกคิดบวก ด้วยข้อมูลปัจจุบัน ตรงหน้า
  • โปรแกรมความคิด(ตัวเอง) ให้ใส ทุกๆ 15 นาที ครั้งละ 3 – 5 วินาที
    ด้วยการไม่คิด (หลอกสมองไม่ให้คิด ด้วยการฟังเสียงระฆัง)

 
และคิดว่าดีทีเดียว
ในการฝึกสติ
ให้อยู่กับปัจจุบัน ขณะ
จึงขอแชร์ให้เพื่อนๆ ทุกคน
ลองนำไปใช้ดู

แล้วคุณจะพบความสุข
โดยไม่ต้องสรรหา จากแหล่งใด
มันมีอยู่แล้ว ข้างในของคนทุกคน

ลองโปรแกรม
สิ่งดีดีลงในจิตใจของคุณ ทุกวันๆ
เมื่อโลกภายในเปลี่ยน
โลกภายนอก จะเปลี่ยนตาม

 

แหล่งข้อมูลดาวน์โหลด:

อ้างอิง:

 

คำขอบคุณ:

  • ขอขอบคุณ ที่ผมเกิดมาในโลกนี้ แล้วอ่านหนังสือออก
    แม้หนังสือ จะไม่สามารถตอบทุกคำถาม ของชีวิต ก็จริงอยู่
    แต่หนังสือ มีข้อมูลมากมาย ที่สามารถทำให้
    ชีวิตเกิดเปลี่ยนแปลง
  • ในชีวิต คนหนึ่งคน มีทั้งเรื่องดี และร้าย ปะปนกันไป
    เรื่องร้าย ประมาณ 20% เรื่องดี ประมาณ 80%
    ขอบคุณ ที่ผมอ่านหนังสือออก
    หนังสือ ทำให้ผมรู้จัก มองในเรื่องดี(คิดบวก) 80% ของชีวิต

ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
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


เมื่อวันที่ 17 กุมภาพันธ์ 2555 ที่ผ่านมา
ผมได้รับเกียรติ ให้บรรยายในงาน:
สัมนา Microsoft TechDays Thailand 2012
ณ ห้องแกรนด์บอลรูม โรงแรมสวิสโซเทล เลอ คองคอร์ด
กรุงเทพฯ ถนนรัชดาภิเษก

ใน Session Developer: Unleash the force of Visual Studio
หัวข้อ Rapid Business Application Development with LightSwitch

จึงนำมาสรุป สำหรับคุณผู้อ่าน ที่พลาดโอกาสในงานนี้:

image

รูป: งานสัมนา Microsoft TechDays Thailand 2012

 

Session Developer: Unleash the force of Visual Studio
หัวข้อ Rapid Business Application Development with LightSwitch

ผมขึ้นบรรยายคนแรก ใน Session บ่าย:
และบรรยากาศ จะประมาณนี้ เชิญสำราณได้ ณ บัดนี้

image

 

ความสวยงาม ที่ลืม รู้สึก
แสงพระอาทิตย์ เหลืองอร่าม
บ่งบอกถึง ความมีพลัง มีชีวิต กำลังใจ การสร้างสรรค์ สิ่งใหม่ๆ อีกครั้ง
ขอถามพวกเราว่า?…

แสงอาทิตย์แสนสวยงาม
ที่เราเคยเห็น ครั้งล่าสุดสุดเมื่อไหร่?…

image
หลายท่านเริ่มคิด?…
ทบทวน ย้อนไปในอดีต
เมื่อ เช้า เมื่อวาน…
คิดไม่ออก

 

เนื่องจากเรา ดำเนินชีวิต ด้วยความเร่งรีบ
เร่งรีบ แข่งขัน แข่งขัน เราก็ไม่รู้ ว่าแข่งกับอะไรอยู่?
เร่งรีบ เพื่อเอาเวลา ไปทิ้งบนท้องถนน(รถติด)

จนบางครั้ง
เราลืมมอง ความสวยงาม ระหว่างทาง

ทั้งที่จริงแล้ว
แสงตะวัน ไม่เคยหนี หายไปใหน
มันยังคงเริ่ม จากทางทิศ ตะวันออก
และสิ้นสุด ทางทิศตะวันตก

ดวงตะวัน แต่ละวัน มีความงาม
และยังคง ส่องแสง แห่งความหวัง
ให้กับผู้คนทั้งหลาย อยู่ทุกวัน
วันแล้ว วันเล่า เมื่อพันๆ ล้านปีมาแล้ว จวบจนปัจจุบัน
แต่เราลืม ลืมเก็บเกี่ยว
มอง… รู้สึก… ถึงความงดงาม เหล่านั้น

 

LightSwitch คืออะไร?
มาดูว่า LightSwitch
จะมาช่วยให้ชีวิต  Developer ดีขึ้นอย่างไรบ้าง?

แต่หลายท่าน ก็เกิดคำถามว่า แล้ว
LightSwitch คืออะไร?

image
LightSwitch เป็นเครื่องมือการพัฒนาโปรแกรมอย่างรวดเร็ว(RAD Tool) ชนิดหนึ่ง
เช่นเดียวกับ Visual Studio 2010(VS2010) แต่
VS2010 ผู้ใช้ ต้องเป็นนักพัฒนามืออาชีพ
เป็นผู้ที่มีทักษะ ด้านการเขียนโปรแกรมขั้นสูง

แต่ Lightswitch เป็นโปรแกรม Add-on บน VS2010
เป็นแพลตฟอร์มใหม่ในการพัฒนาที่ไม่จำเป็นต้องเขียนโค้ด
ก็สามารถสร้างโปรแกรมทางธุรกิจที่มีคุณภาพระดับมืออาชีพได้
และสร้างง่ายเสมือนหนึ่งใช้ปลายนิ้วผลักสวิทช์ไฟ
สร้างครั้งเดียวสามารถนำไปใช้ได้หลายที่ เช่น
เป็น WinApp, WebApp และ CloudApp
ที่สำคัญผู้ใช้งานไม่จำเป็นต้องเป็นนักพัฒนามืออาชีพ
ไม่จำเป็นต้องมีทักษะการเขียนโปรแกรมขั้นสูง

 

Development Cycle
ในวงจรการพัฒนาโปรแกรม ของพวกเรานักพัฒนา
ไม่ว่าระบบใดๆ ก็ตาม
เมื่อผ่านกระบวนการวิเคราะห์เป็นที่เรียบร้อยแล้ว
สุดท้าย เราจะได้ข้อมูลมา ก้อนหนึ่ง

หน้าที่ของนักพัฒนาคือ

  • ออกแบบหน้าจอ
  • เขียนโค้ด เพื่อติดต่อฐานข้อมูล
    • จัดการข้อมูล
    • คิวรี่ข้อมูล
    • หรือนำข้อมูลออกมาใช้งาน

จากนั้นก็นำโปรแกรมไปให้ผู้ใช้ ใช้งาน
ความจริงก็ปรากฏ
ผู้ใช้เริ่มเข้าใจว่า จริงๆ แล้วตัวเองต้องการอะไร?
ผู้ใช้งานจะเข้าใจทันทีว่า อ้อ…
สิ่งที่ต้องการจริงๆ มันเป็นแบบนี้
??!!@@@!!]]&&$$
ต้องแก้ไข 1, 2, 3, 4

แล้วนักพัฒนามืออาชีพอย่างเรา 
ก็ไม่พ้นต้องกระโดด
เข้าสู่วงจรการพัฒนาโปรแกรมอีกครั้ง
ครั้งแล้ว ครั้งเล่า….
จะเห็นว่าเราสูญเสียเวลา
ในวงจรการพัฒนานี้มากมาย เหลือเกิน
กว่าครึ่ง ของ แต่ละโครงการ
จนบางครั้ง ไม่อาจประมาณได้ว่า สูญเสียเวลาไปมากเท่าไหร่

จนหลายท่านเริ่มมีคำถามขึ้นว่า
น่าจะมีเครื่องมืออะไร? มาทำงานแทนเราได้ (ใหม?)

image
ไมโครซอฟท์
เข้าใจพวกเราดี
จึงได้สร้างเครื่องมือ ตัวนั้นขึ้นมา

 

LightSwitch เครื่องมือวิเศษ
image

โปรแกรม LightSwitch พัฒนาโปรแกรมง่ายมาก
เพียงเรากำหนดฐานข้อมูลให้มัน
มันจะสามารถเข้าไปอ่านโครงสร้างฐานข้อมูล
แล้วนำไปสร้างหน้าจอโปรแกรม ให้เราอัตโนมัติพร้อมใช้งานทันที

 

Core Business
ทำให้นักพัฒนา มีเวลามากขึ้น
ที่จะไปเน้นจุดสำคัญจริงๆ ของโปรแกรม

โปรแกรมเสร็จเร็วขึ้น
ใช้เวลาน้อยลง
มีคุณภาพมากขึ้น
เนื่องจากถูกสร้างด้วยเทมเพลตมาตรฐานของ LightSwitch
นักพัฒนามืออาชีพ ก็จะมีความเป็นมืออาชีพมากยิ่งขึ้นไปอีก

image

 

LightSwitch Technologiess
หลายท่านเริ่มสงสัยว่า
LightSwitch เจ๋งขนาดนั้น
มันสร้างจากอะไรกัน?
image

LightSwitch ถูกสร้างจากเทคโนโลยี
Silverligh+EntityFramework+RIA Service+C#,VB,XAML และ MVVM

จึงทำให้มันฉลาดพอที่
จะสร้างโปรแกรมอย่งอัตโนมัติ ให้เรา
โดยที่เราไม่จำเป็นต้องเขียนโค้ดโปรแกรม

 

มืออาชีพ อย่างเดียวไม่พอ
ถ้าเกิดผู้ใช้มีความต้องการว่า
อยากได้โปรแกรม หน้าจอ ประมาณนี้

image
มีเมนู, มีรายการ เมื่อเราคลิกบนรายการ, ให้แสดงรายละเอียด

ถ้าโปรแกรมมืออาชีพ ขั้นเทพอย่างพวกเรา
ใช้โปรแกรม Notepad+C# แน่นอนว่าโปรแกรมนี้
อาจใช้เวลาหลายสัปดาห์ หรืออาจจะไม่มีวันได้เกิด
แต่ถ้าใช้ VS2010 อาจจะใช้เวลาหลายวัน หรือหลาย ชั่วโมง
แล้วแต่ว่าเราเคยเขียนโปรแกรมในแบบนี้มาก่อนหรือไม่?…
เพราะประสบการณ์ หรือความคุ้นเคย อาจจะช่วยเราประหยัดเวลา
อะไร? ก็ตามถ้าเราเคยผ่านมาแล้ว จะรู้สึกว่าง่าย กว่า

แต่ถ้าหน้จอโปรแกรมนี้ เราใช้ LightSwitch เราจะใช้เวลา
เพียงไม่กี่นาที ไม่ว่าเราจะเคยพัฒนาโปรแกรมนี้มาก่อนหรือไม่ ไม่จำเป็น
เนื่องจาก LightSwitch สร้างให้เราอย่างอัตโนมัติ
ความคุนเคย หรือประสบการณ์ อาจไม่มีประโยชน์ ในส่วนนี้

เห็นความแตกต่างใหม? คุณผู้อ่าน
ไม่ว่าเราจะมืออาชีพ เพียงใดก็ตาม
แต่ถ้ารู้จักเลือกใช้เครื่องที่ทรงพลัง
มันช่วยประหยัดเวลา เราเยอะมากจริงๆ

 

LightSwitch กับการใช้งานจริง
ผมนำ LightSwitch ไปใช้งานจริง
โดยทำเป็น Front-ent ของระบบ ระบบหนึ่ง

ชื่อ Service Management System: SMS
image

 

เป็นโปรแกรมที่ผมพัฒนาให้กับบริษัทโฟลว์โก้ จำกัด
ที่ทำงานในปัจจุบันของผม

โดยโปรแกรม SMS Solution มี 3 โปรแกรม

  1. SMS Service
  2. SMS Manage
  3. SMS MINI

ซึ่ง SMS Solution เป็นโปรแกรมในการ จัดการการแจ้งซ่อมงาน
ให้กับปั้มน้ำต่างๆ ทั่วประเทศ
โดยลูกค้าจะแจ้งงานผ่าน Call center
โปรแกรม SMS Manage จะเป็นโปรแกรม เปิดงาน, จ่ายงาน,เข้างาน,ปิดงาน และรวมถึง
การประมวลผล ออกรายงานต่างๆ

ช่าง(VAN) ที่กระจายอยู่ทั่วประเทศ
จะใช้โปรแกรม SMS MINI ในการบันทึกปิดงาน
แล้ว Upload งานเข้าเซอร์ฟเวอร์

และ Manager หรือลูกค้าจะติดตามงาน( Service monitoring) ผ่านโปรแกรม
SMS Service

เกิดปัญหาบางอย่างว่า
Admin ที่ดูแลระบบ SMS Solution
ต้องการจัดการข้อมูลอะไร? บางอย่าง ของระบบ SMS Solution

ผมจึงนำ LightSwitch ไปเชื่อมต่อเข้ากับฐานข้อมูล
แล้วสร้างหน้าจอโปรแกรมอัตโนมัติให้ Admin ใช้งาน
เยี่ยมใหม?
image

 

ตัวอย่างหน้าจอโปรแกรม
ผม Deploy เป็น WinApp โดยใช้ ClickOnce
ไม่จำเป็นต้องไปควบคุมเวอร์ชั่นโปรแกรมบนเครื่องผู้ใช้
เราควบคุมเวอร์ชั่นเดียว คือเวอร์ชั่นบนเซอร์ฟเวอร์

สามารถจัดการสิทธิ์
กำหนดว่าใคร เข้าถึงข้อมูลตัวใหนได้
ผ่าน User Loin

image image

 

หน้าจอหลัก 

image

 

หน้าจอจัดการข้อมูล
สามารเพิ่ม, แก้ไข, ลบข้อมูลได้ โดยที่เรายังไม่ได้เขียนโค้ดแม้บรรทัดเดียว

imageimage

 

สามารถเชื่อมต่อเข้ากับโปรแกรม Excel อัตโนมัติ

imageimage

มีบางรายงานที่ผู้ใช้งานขอบ่อยๆ
ผมจะสร้าง View บน MS SQL
แล้วกำหนด สร้างหน้าจอบน LightSwitch
ให้ผู้ใช้งานกรองข้อมูล ตามที่ตัวเองต้องการ
เพื่อ Export เป็น Excel แล้วนำไปใช้งาน วิเคราะห์ต่อในรูปแบบของ Excel ต่อไป

 

จะเห็นว่า… 

image

 

LightSwitch คืคำตอบ

  • ไม่ว่าเราจะเป็นนักพัฒนามืออาชีพ หรือ
  • ผู้ดูแลระบบ หรือ
  • ผู้ใช้งานทั่วไป

เราสามารถใช้ LightSwitch ในการสร้างโปรแกรม ได้อย่าง่ายดาย
เนื่องจาก มันประกอบด้วย:
Silverligh+EntityFramework+RIA Service+C#,VB,XAML และ MVVM
จึงทำให้เราสามารถสร้างโปรแกรม ที่มีคุณภาพ ในระดับมืออาชีพ ได้อย่างง่ายดาย
เสมือนหนึ่ง ใช้เพียงปลายนิ้ว ผลักสวิตช์ไฟ

image
มันง่ายอย่างนั้นจริงๆ

 


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

 


ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
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 ไม่สามารถใช้งานได้

  1. โดยค่าเริ่มต้นผู้ใช้งาน sa ถูกปิดการใช้งาน (disabled)
  2. โหมดรับรองความถูกต้อง(Authentication)
    โดยค่าเริ่มต้นจะเป็นโหมด Windows (Windows Authentication)

ฉะนั้นเราต้องทำการเปิดการใช้งานสำหรับผู้ใช้งาน sa และกำหนด
โหมดรับรองความถูกต้องเป็น SQL Server and Windows Authentication
เพื่อให้สามารถเข้าระบบผ่าน ผู้ใช้งาน sa ได้
ดังนี้

 

1. เข้าระบบด้วย โหมด Windows Authentication
SQLExpress_EnableSa_20120124_nano1

2. คลิกขวา=> Properties, กำหนดโหมด Authentication เป็น
SQL Server and Windows Authentication

SQLExpress_EnableSa_20120124_nano3

3.เปิดการใช้งาน ผู้ใช้งาน sa
คลิกแทบ Security =>คลิกขวาผู้ใช้งาน sa => Properties
SQLExpress_EnableSa_20120124_nano4

4. เลือกแทบ Status=> ในกลุ่ม Login: เลือก Enabler=> คลิก OK
SQLExpress_EnableSa_20120124_nano41

5.ถ้าต้องการ เปลี่ยน password ของ sa ใหม่
ให้คลิกแทบ General แล้วป้อน password ใหม่ลงไป
SQLExpress_EnableSa_20120124_nano42

6. Restart SQL Service 1 ครั้ง

SQLExpress_EnableSa_20120124_nano5

7.Disconnect
SQLExpress_EnableSa_20120124_nano6

8. Connect ใหม่
SQLExpress_EnableSa_20120124_nano7

9. เข้าระบบโดยการเลือกโหมด SQL Server and Windows Authentication
ป้อน ผู้ใช้งาน sa และ password

SQLExpress_EnableSa_20120124_nano8

 

10. การ Enable sa สามารถรันผ่าน SQL Command ดังนี้
image

–:จบบริบูรณ์:–

 


 

ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
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

1 ความเห็น

Microsoft.LightSwitch.DataServiceOperationException: Load operation failed for query


VSLS ในการรันโหมด Debug
ถ้าคุณกำหนด Permissions ในการเข้าถึงข้อมูล
เช่น กำหนด Permissions ในการโหลดข้อมูล ตาราง JOB
โดยผู้ใช้งานที่จะโหลดข้อมูลในตาราง JOB ได้
ต้องมี Permissions ชื่อ Can_Excecute_Transaction
image
คุณจะได้รับข้อผิดพลาด ดังนี้:

{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 —


image

เนื่องจากการรันในโหมด  Debug จะใช้ User ชื่อ Test User
ซึ่งไม่มี Permissions ชื่อ Can_Excecute_Transaction ดังกล่าว
จึงไม่มีสิทธิ์เข้าถึงข้อมูล JOB
image

 

คุณสามารถกดปุ่ม F5 อีกครั้ง เพื่อข้ามข้อผิดพลาดไป
โดยโปรแกรมสามารถทำงานได้ตามปกติ
แต่ถ้าคุณจำเป็นต้องรันทดสอบโปรแรกม บ่อยครั้ง
เจอข้อผิดพลาดบ่อยๆ ก็น่ารำคัญมิใช่น้อย

คุณสามารถยกเลิกข้อผิดพลาดดังกล่าวได้
โดยคลิกเมนู Debug = > Exceptions…
image

ในหน้าต่าง Exceptions ให้ติ๊ก Common Langauge Runtime Exceptions ออก
แล้วคลิก OK
image

ในการรันโปรแกรมโหมด Debug ครั้งต่อไป ก็จะไม่มีข้อผิดพลาด
ให้รบกวนตาอีกต่อไป
คุณจะสังเกตเห็นว่า ข้อมูล JOBs จะไม่มีข้อมูล
ใน DataGrid จะมีไอคอนกากาบาทสีแดง

image

 

–:จบบริบูรณ์:–


ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
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


จากบทความ
Visual Studio LightSwitch DataGrid Change Font Style
คุณผู้อ่านได้ทราบแล้วว่า
LightSwitch(LS) เวอร์ชั่น 1 (Visual Studio LightSwitch 2011)
ยังไม่รองรับการเปลี่ยนฟอนต์ ผ่านหน้าจอออกแบบ

แต่ก็พอจะมีวิธีการเปลี่ยนมันบ้างพอสมควร
เพียงว่าต้องลงแรงสักเล็กน้อยเท่านั้น
เช่น

  1. การปรับ Font Style เป็น Heading1:
    https://janawat.wordpress.com/2011/12/25/visual-studio-lightswitch-datagrid-change-font-style/
  2. การปรับ Font โดยการเขียนโค้ด:
    https://janawat.wordpress.com/2011/12/27/visual-studio-lightswitch-change-font/
  3. การปรับเปลี่ยนฟอนต์โดยการสร้างธีมใหม่ ซึ่งเป็นเนื้อหาที่กำลังจะกล่าวในบทความต่อไปนี้

ซึ่งในสองวิธีแรกการเปลี่ยนฟอนต์ดังกล่าว
ก็พอจะทำให้คุณผู้อ่านสามารถใช้ LS
สร้างโปรแกรมที่สนับสนุนภาษาไทย
แต่มีข้อเสียคือ คุณผู้อ่านต้องทำทีละหน้าจอ(Screen)
เป็นการเปลืองพลังงานพอสมควร

 

สิ่งที่จำเป็น

 

เราไปดูการเปลี่ยนฟอนต์โดยการ สร้างธีมกันบ้าง
ดังนี้:

 

สร้างโปรเจ็กต์

1. สร้างโปรเจ็กต์ LS ด้วย Extensibility แล้วเลือกภาษาที่ถนัด
ตั้งชื่อโปรเจ็กต์ตามต้องการ ในที่นี้ใช้ชื่อ JanawatTheme
image

2.เมื่อกด OK คุณผู้อ่านจะได้โครงสร้างโปรเจ็กต์ดังรูป
image

3.จากนั้นคลิกขวาบนโปรเจ็กต์
JanawatTheme.Lspkg => เลือก Add => เลือก New Item…
image

4. เลือกไอเทม Theme=> ตั้งชื่อธีมตามต้องการ
ในที่นี้ใช้ JanawatTheme (ชื่อเดียวกับโปรเจ็กต์)
image

5.VSLS จะพาคุณผู้อ่านเข้าไปที่โปรเจ็กต์ JanawatTheme.Client
โฟลเดอร์ Presentation => Themes
คุณผู้อ่านจะเห็นธีม JanawatTheme.xaml
ซึ่งเป็นไฟล์ XAML กำหนดสไตล์ของคอนโทรลนั่นเอง
image

6.เมื่อคุณผู้อ่านเปิดดูไฟล์ JanawatTheme.xaml จะเห็นว่า
ฟอนต์ค่าเริ่มต้น(Default) คือ Segoe UI, Arial
ขนาดฟอนต์เริ่มต้น 11
 image

 

เปลี่ยนฟอนต์ใหม่

7.เปลี่ยนฟอนต์ใหม่ตามที่ต้องการ
โดยการเปลี่ยนชื่อฟอนต์ ???FontFamily และ
ถ้าต้องการเปลี่ยนขนาด
สามารถใส่ตัวเลขที่ต้องการลงไปใน ???FontSize

ปล. ??? เป็นชื่อของสไตล์ เช่น
NormalFontFamily, Heading1FontFamily เป็นต้น

การเปลี่ยนฟอนต์ โดยการแทนที่(Replace)

  1. โดยการ Copy Segoe UI, Arial
  2. แล้วกดปุ่ม Ctrl+H บนคีย์บอร์ด
  3. ว่าง Segoe UI, Arial ในช่อง Find what:
  4. พิมพ์ Tahoma ในช่อง Replace with
  5. เราจะกระทำเฉพาะในไฟล์ (JanawatTheme.xaml) นี้เท่านั้น
  6. หลังจากนั้นแทนทีทั้งหมดในไฟล์นี้โดย
    การกดปุ่ม Replace All

image

8. เปลี่ยนฟอนต์เรียบร้อย
image

 

การติดตั้ง Extensions

9. หลังจากนั้น Build Solution 1 ครั้ง
ให้เปิดไปที่โฟลเดอร์ของโปรเจ็กต์ JanawatTheme.Vsix
เพื่อติดตั้ง Extensions ธีมของเราเข้าไปบน VSLS
image

10. เข้าไปที่โฟลเดอร์ JanawatTheme.Vsix\bin\Debug
แล้วเปิดไฟล์ JanawatTheme.vsix  เพื่อติดตั้ง
image

11. หน้าต่าง Visual Studio Extension Install คลิก Install
image

12. ติดตั้งเรียบร้อย
image

13.จากนั้นเปิดโปรเจ็กต์เก่าที่เคยสร้างไว้ หรือ
สร้างโปรเจ็กต์ใหม่ ในที่นี้เป็นการเปิดโปรเจ็กต์เก่า
ที่เคยสร้างไว้แล้ว
image

 

เปิดใช้งานธีม

14.คลิกขวาบนโปรเจ็กต์ => properties
บนหน้าจอการออกแบบ=>คลิกแทบ Extensions
ติ๊กเลือก JanawatTheme
image

15. คลิกแทบ General Properties
คลิกดรอปดาวน์ Theme เลือกธีม JanawatTheme
image
image

16. รันโปรแกรม ทดสอบภาษาไทย
จะเห็นว่าภาษาไทยตัวอักษรใหญ่ขึ้น
image

17.ลองปรับเปลี่ยน Label
แสดงเป็นภาษาไทย
image

18. จะเห็นว่าทั้งหน้าจอ
แสดงผลภาษาไทยได้ดียิ่งขึ้น
ทั้งคอนโทรลบน DataGrid, Label หรือ TextBox
โดยที่เราไมาต้องเขียนโค้ด
image

 

จะเห็นว่าในวิธีที่สาม การสร้างธีม
เราสามารถเปลี่ยนฟอนต์ ได้ทั้งโปรแกรม
เพียงแค่กำหนดเปิดใช้ธีม
ที่เราทำการปรับฟอนต์เรียบร้อยแล้วเท่านั้น
คุณผู้อ่านก็จะมีความสุขมากขึ้นในการสร้างโปรแกรมด้วย LS

 

แหล่งข้อมูลดาวน์โหลด:

 

แหล่งข้อมูลอ้างอิง:

 


ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
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

1 ความเห็น

เราจะเป็นอย่างที่เราคิด…


เมื่อวันที่ 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

MVP_Horizontal_FullColor_150px
ขอแสดงความยินดี คุณ nano MVP คนใหม่รอบ July 2009 ครับ
http://greatfriends.biz?109645

 

คาถาประจำใจ

ผมมีคาถาประจำคือ
คาถา => เปลี่ยนเป็นคำว่า อาสา

 

ด้วยจิตอาสา
หลังจากได้เป็น MVP
สิ่งหนึ่งที่ได้คือ  วิธีการเรียนรู้

ไม่ว่าจะเป็น Columnist, เขียนบล็อก, ตอบปัญหาด้าเทคนิคคอล, เป็น Community Leader, และเป็นผู้บรรยาย
ล้วนทำให้เราได้เรียนรู้ อย่างต่อเนื่อง…

image

 

และเมื่อเราศึกษาอย่าต่อเนื่อง
เราจะเป็นคนที่มีวินัยตัวเองมากขึ้น
สามารถทำงานได้เร็วขึ้น
สมองคิดไวขึ้น
คิดบวกมากขึ้น
มองเห็นคำตอบในทุกปัญหา
และคุณจะขยันมากขึ้น มากขึ้น
ทำงานอย่างรวดเร็ว กระตือรือร้น
แน่นอน หัวหน้างานต้องชื่นชอบ
ความก้าวหน้าในหน้าที่การงาน
จะไปใหนเสีย

นี่คือสิ่งเล็กๆ น้อยๆ ที่ผมเชื่อเสมอว่า
เราจะเป็นอย่างที่เราคิด…

อายุที่เราได้มา คือวันเวลาที่เราเสียไป

สิ่งเดียวในโลก ที่ไม่สามารถรีไซเคิล คือวันเวลาเมื่อวันวาน

แล้วในปีใหม่นี้ คุณคิดไว้อย่างไร?…
สำหรับผมคิดไว้ 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


จากบทความ Visual Studio LightSwitch Default NewEditeScreen: http://bit.ly/vBEc7V
เราได้ทิ้งท้านกันไว้ว่า จะไปกำหนดฟอนต์ ให้หน้าจอ Create New Customer…
ที่เราสร้างขึ้น…เพื่อให้ข้อมูลภาษาไทย…แสดงขนาดใหญ่ขึ้น…อ่านง่ายขึ้น…โดยไม่ต้องพึ่งแว่นขยาย

บทความนี้เราจะไปเปลี่ยนฟอนต์ให้คอนโทรลต่างๆ บนหน้าจอ Create New Customer…
image
รูป CreateNewCustomer Screen Designer

เนื่องจากว่าด้วยตัวเครื่องมือ Visual Studio LightSwitch (VSLS) ยังไม่ซัพพอร์ต การเปลี่ยนฟอนต์
ผ่านหน้าจอการออกแบบ ฉะนั้นเราจึงต้องออกแรงนิดหน่อย ในการเขียนโค้ด เพื่อใส่ฟอนต์ให้มัน
วิธีการดังนี้

  • หมายเลข(1) เปิดหน้าจอ CreateNewCustomer
  • หมายเลข(2) เข้าไปเขียนโค้ด โดยคลิกลงบนเมนู Write Code
  • หมายเลข(3) คลิก CreateNewCustomer_Created

image

คุณผู้อ่านจะเข้าสู่หน้าต่างการเขียนโค้ด…
โดย VSLS เตรียมเมธอดให้เรียบร้อย…ว่าผู้อ่านต้องเขียนโค้ดที่ใหน…
image

การเข้าถึงคอนโทรลต่างๆ บน VSLS จะใช้เมธอด FindControl() และ…
แนบ(attaching) อีเว้นต์ ControlAvailable เพื่อการเข้าถึง และตั้งค่าตัวคอนโทรล…
การ Attach อีเว้นต์ ControlAvailable ทำดดนการพิมพ์เครื่องหมาย += แล้วกดปุ่ม TAB บนคีย์บอร์ด

image

VSLS จะสร้างอีเว้นต์ CreateNewCustomer_ControlAvailable(…) ให้เราอัตโนมัติ

image

จากนั้นไปหาชื่อคอนโทรล ไปใส่ในเมธอด FindControl(“ชื่อคอนโทรล”)

image

แล้วเขียนโค้ดให้สมยูรณ์ดังนี้:…

โค้ดดิ้ง:

 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 แสดงตัวอักษรภาษาไทยที่อ่านได้ง่ายขึ้น…

image

ลองกดเมนูเพิ่มข้อมุลใหม่…
เช่นกันหน้าจอ Create New Customer ก็แสดงผลถาษาไทยได้น่าพึงพอใจ…

image

–:จบบริบูรณ์:–


ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
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

1 ความเห็น

Visual Studio LightSwitch Default NewEditeScreen


จากบทความ: Visual Studio LightSwitch DataGrid Change Font Style: http://bit.ly/vcku1a 
จะเห็นว่าเมื่อคุณผู้อ่านกำหนดฟอร์นของ DataGrid ได้แล้ว…แต่มีปัญหาใหม่เกิดขึ้นคือ ไม่สามารถแก้ไข…
ข้อมูลผ่าน DataGrid ซึ่งขนาดฟอร์นของตัวอักษรใหญ่กว่า…เมื่อท่านผู้อ่านเข้าผ่านเมนูเพิ่ม และแก้ไข
image

จะเห็นว่ามีหน้าจอป้อนข้อมูลใหม่ แสดงขึ้น… ทดสอบป้อนข้อมูลภาษาไทยลงไป…
ต้องใช้แว่นขยายช่วยส่อง…จึงสามารถอ่านได้อย่างสบายตา…

image

เมนูแก้ไข ก็เช่นกัน…ไม่พ้นแว่นขยาย…

image

 

บทความนี้เรามาใช้หน้าจอ เพิ่ม+แก้ไข ของตัวเอง…
ที่ผ่านการปรับฟอนต์ให้ใหญ่ขึ้น…ดังนี้:

1. เพิ่มเทมเพลตหน้าจอ New Data Screen
image

2. เข้าสู่หน้าต่าง Screen Designer…
image

3.เพิ่มพรอเพอร์ customerID…โดยคลิกเมนู Add Data Item บนหน้าต่าง Screen Designer…
เลือก Local Property => Type = String
Name= ระบุ customerID => คลิก OK
image

4.กำหนดให้เป็น Parameter (Is Parameter = true), กำหนดให้เป็น null ได้ (Is required = false)
image

5.เปิดหน้าจอ EditableCustomersGrid…ขึ้นมา คลิกฟิลด์ CustomerID กำหนดให้แสดง Link(Show as Link = true)…
Target Screen = หน้าจอที่ต้องการ ในที่นี้คือ Default
image

6.ไปกำหนด Default Screen ให้ Entity Customer…
โดยเปิดตาราง Customers…=> ไปที่หน้าต่าง Properties=> Default Screen เลือก CreateNewCustomer
image

7.เพิ่ม DataItem … แต่เลือกเป็น Query และเลือก NORTHWINDDataCustomer_single เพื่อโหลดข้อมูลไปแสดงบนหน้าจอ New Data Screen…
image

8.ไปที่ Query parameter กำหนด Parameter binding ให้เป็น customerID… พรอเพอร์ตี้ที่เราได้เพิ่มไว้ก่อนหน้านี้…
image

9.มันจะแสดง Link ให้เห็น…
image

10.บนหน้า CreateNewCustomer=>คลิก Write Code=>คลิก CreateNewCustomer_InitializeDataWorkspace…
แล้วใส่โค้ดลงไป…
image

11.ในการเปิดหน้าจอบน LS บนเมนู Add ทำได้โดยการไปใส่โค้ดให้มัน…
โดยคลิกขวาบนปุ่ม Add=>เลือกเมนู Overide Code
image

12. แล้วใส่โค้ดลงไป…
จะเห็นว่าปุ่ม Add เราจะผ่าน Parameter ที่เป็น customerID เป็นค่า null
image

13. ส่วนโค้บนปุ่ม Edit คลิกขวาบนปุ่ม Edit =>เลือกเมนู Overide Code…แล้วใส่โค้ดังนี้
สำหรับปุ่มแก้ไข…เราต้องผ่าน Parameter customerID ด้วย ฉะนั้นเราต้องดึงข้อมูล แถวที่ถูกเลือก ณ ปัจจุบันของ DataGrid ขึ้นมาก่อน…
แล้วแปลงค่าเป็นอ็อบเจ็กต์ Customer จากนั้นเช็กข้อมูลนิดนึ่งว่า มันมีข้อมูลอยู่ … แล้วผ่าน CustomerID เข้าไป
image

14.เสร็จแล้วรันโปรแกรม…
สังเกตุบนคอลัมน์ CustomerID จะมี Link … เนื่องจากเราสั่งให้ Show link ในข้อ 5…
image

14.เมื่อคลิกลงบนรหัส…
หน้าต่าง Create New Customer จะถูกเปิดขึ้นมา…
แต่เป็นหน้าที่เราสร้างขึ้นมาเอง…และข้อมูลที่๔ุกโหลดเข้ามาในหน้าจอคือโค้ดโปรแกรมในข้อ 10…
image

15.เมื่อคลิกเมนู Add New…
หน้าต่าง Create New Customer จะถูกเปิดขึ้นมา…ว่างเปล่า…
เนื่องจากในข้อ 12 โค้ดโปรแกรม ผ่าน Parameter  customerID เป็นค่า null…
image

16.เลือกแถวข้อมุลที่ต้องการก่อน…
จากนั้นคลิกเมนู Edit…
หน้าต่าง Create New Customer จะถูกเปิดขึ้นมา…
พร้อมกับข้อมูลของ Customer…เนื่องจากโค้ดโปรแกรมในข้อ 13. เราผ่าน Paramert CustomerID  เข้าไปด้วย…
image

 

แล้วพบกันในตอนต่อไป…
เราจะไปกำหนดฟอนต์ ให้หน้าจอ Create New Customer … ที่เราสร้างขึ้น…
เพื่อให้ข้อมูลภาษาไทย…แสดงขนาดใหญ่ขึ้น…อ่านง่ายขึ้น…

 


ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
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


IDE ของโปรแกรม LightSwitch(LS) ยังไม่สนับสนุนการเปลี่ยนฟอนต์…
ถ้าคุณผู้อ่านต้องการเปลี่ยนฟอนต์…ทั้งแอปฯ…
ต้องสร้าง Theme และกำหนดฟอนต์ที่ต้องการลงไป…
ซึ่งมันเป็นงานที่หนักเปลื้องพลังงานมากเกินไป…
ในที่นี้เราจึงใช้ฟอนต์ตามดีฟอลต์ไปก่อน …
และสำหรับภาษาไทยแล้ว เมื่อแสดงผ่านหน้าจอ…
ตัวอักษรเล็กมาก เวลาอ่านต้องใช้แว่นขยายช่วย…

แต่ตัวเครื่องมือ LS ก็ยังเปิดโอกาศให้ปรับเปลี่ยน Font Style ได้บ้าง…มีสองวิธีคือ

  1. การปรับ Font Style (ใช้ได้เฉพาะคอนโทลที่สามารถอ่านอย่างเดียว เช่น TextBlock)
  2. เขียนโค้ดเปลี่ยนฟอนต์ของคอนโทรล (จะนำเสนอในโอกาศต่อไป)

ไปดูตัวอย่างการปรับ Font Style บน DataGride กันครับ

 

1. สร้างโปรเจ็กต์ด้วย LightSwitch

2. กำหนดแหล่งข้อมูลที่มีอยู่แล้ว (Attach to external Data Source)
image

3. ติดต่อฐานข้อมูล…
image

4. เลือกตาราง Customers
image

5.คุณผู้อ่านจะเข้าสู่หน้าต่าง Customer Entity designer
image

6.สร้างหน้าจอ
image

7.เลือกแบบหน้าจอเป็น DataGrid
image

8.เข้าสู่หน้าต่าง Screen Designer…
image

9.รันโปรแกรม…ทดสอบป้อนข้อมูลภาษาไทยลงไป…
ตัวเล็กมาก…จนต้องใช้แว่นขยายช่วย
image

10.เข้าไปปรับเปลี่ยน ฟอนต์ในขณะรันโปรแกรมโดยคลิกบนเมนู Design Screen…
image

11.โดยดีฟอลต์ Data grid row จะเป็นคอนโทรล TextBox…
นั่นคือเราสามารถป้อนข้อมูล…แก้ไขข้อมูลลงบน DataGrid ได้เลย…
ดูที่หน้าต่าง Properties จะเห็นว่าพรอเพอร์ตี้ Use Read-only control ยกเลิกอยู่…
image

12.ให้เลือกพรอเพอร์ตี้ Use Read-only control …
สังเกตุคอนโทรลของ Data Grid Row จะกลายเป็น TextBlock (หรือ Label)…
ที่ไม่สามารถป้อนข้อมูลได้นั่นเอง…
image

13.เมื่อเราปรับคอนโทรลเป็น TextBlock แล้ว…
จึงสามารถเปลี่ยน Font Style ได้
image

14. เปลี่ยน Font Style เป็น Heading1
image

15.ไล่เปลี่ยนทุกฟิลด์…
image

16.บันทึกการปรับแต่งหน้าจอ…
image

17.มันจะกลับมาในหน้าจอโปรแกรมปกติ…
จะเห็นว่าข้อความที่เป็นภาาาไทยใหญ่ขึ้น…
สามารถอ่านออก โดยไม่ต้องอาศัยแว่นขยายแล้ว
image

 

18.และทุกอย่างที่เราปรับแต่งในโหมดรันไทม์…
จะถูกบันทึกกลีบมาที่ VS2010 ด้วย…
image

 

–:จบบริบูรณ์:–


ผู้เขียน

clip_image019

** รู้จักกับผู้สอน อ.นุชิต **
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

ให้ความเห็น

Follow

Get every new post delivered to your Inbox.

Join 140 other followers