เขียนโค้ดแก้ปัญหา browser block popup แบบง่ายๆ ใช้งานได้จริง

เดี๋ยวนี้การเปิดหน้าเวบของผู้ใช้งานทั่วไปมักใช้มือถือแทนคอมพิวเตอร์แล้ว แล้วตอนนี้ browser ทั่วไปจะทำการ block popup JavaScript ใน function window.open ดังนั้นทำให้ง่ายที่สุดคือใช้ link ให้เป็นประโยชน์ โดยใช้ properties href ในการเรียกใช้ตามโค้ดตัวอย่างข้างล่างนี้ เท่านี้สั้นๆ ง่ายๆ หวังว่าจะเป็นประโยชน์สำหรับคนเขียนโค้ดและผู้ใช้งานไม่ต้องปิด block popup ที่เครื่องตัวเองอีกต่อไป

Read More »

การใช้งาน touchpad ใน windows 10

การใช้งาน touchpad ใน windows 10 มีดังนี้ ใช้ 1 นิ้วกดที่ touchpad  การทำงานจะเหมือนกด mouse ด้านซ้าย ถ้ากด 1 ครั้ง จะเป็นการเลือกไฟล์หรือกดปุ่มคำสั่งที่ cursor ชี้อยู่เวลานั้น ถ้ากด 2 ครั้ง จะเป็นการเปิดไฟล์หรือเปิดโปรแกรม 2. ใช้ 1 นิ้วกดที่ touchpad  2 ครั้งค้างไว้แล้วลาก  การทำงานจะเหมือนกด mouse ด้านซ้ายค้างไว้แล้วเลื่อน mouse เป็นการเลื่อนไฟล์ที่เลือกไปตำแหน่งอื่น หรือ เป็นการเลือกไฟล์แบบคลุม หรือใช้เลื่อน scroll bar 3. ใช้ 2 นิ้วกดที่ touchpad  1 ครั้ง การทำงานจะเหมือนกด mouse ด้านขวา เป็นการแสดงคำสั่งอื่นๆ 4. ใช้ 2 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วกางออกหรือหุบเข้า เป็นการทำ Zoom in , Zoom out 5. ใช้ 2 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วเลื่อนขึ้นลง เป็นการเลื่อนหน้าจอขึ้นลง 6. ใช้ 3 นิ้วกดที่ touchpad  1 ครั้ง เป็นการเปิดปุ่ม search 7. ใช้ 3 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วลากขึ้น เป็นการเปิด task view 8. ใช้ 3 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วลากลง เป็นการแสดงหน้า desktop 9. ใช้ 3 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วลากไปทางซ้ายหรือขวา เป็นการสลับโปรแกรมที่เปิดใช้งานอยู่ 10. ใช้ 4 นิ้วกดที่ touchpad  1 ครั้ง เป็นการเปิด Action Center 11. ใช้ 4 นิ้วกดที่ touchpad  1 ครั้งค้างแล้วลากไปทางซ้ายหรือขวา เป็นการเลือกหน้า Desktop ที่เปิดอยู่ ถ้าต้องการปิดการใช้งาน touchpad ขณะเสียบ mouse ให้ทำดังนี้ เปิด windows setting แล้วเลือก Devices 2. เลือก Touchpad แล้วเอาเครื่องหมายถูกหน้าข้อความ “Leave touchpad on when a mouse is connected” ออก

Read More »

ลบภาพบนเอกสาร Word ทั้งหมดได้ง่าย ๆ ภายในพริบตา

หลายท่านคงเคยมีปัญหาในการนำข้อความจาก word  อาจจะต้องนำไป Copy ไว้ที่ไหนสักที่ หรือ นำไปเขียน blog บนเว็บ แต่ไฟล์ที่เรามีอยู่ในมือ ดูแล้วมีรูปภาพเต็มไปหมด ไอ้เราก็ต้องการเฉพาะแค่ข้อความเท่านั้น ทำไงล่ะทีนี้ จะต้องมานั่งลบรูปทีละรูปอย่างนั้นเหรอ ?? เสียเวลาชะมัด เห้อ …..  แต่เดี๋ยวก่อนค่ะ มันไม่เสียเวลาขนาดนั้น มันก็มีวิธีอยู่นะคะ ที่เราจะไม่ต้องมานั่งคลิกลบทีละรูป เอาล่ะมาดูวิธีกันดีกว่า 1. เปิดไฟล์ที่เราต้องการลบรูปทั้งหมดขึ้นมา จะเห็นว่าในไฟล์มีรูปภาพหลายรูปเลยล่ะค่ะ 2. คลิกที่ปุ่ม Replace 3. ในช่อง Find What  ให้พิมพ์ ^g   ส่วนตรง Replace With ไม่ต้องกรอกอะไรลงไปค่ะ ปล่อยว่างไว้เลย  จากนั้นให้กดปุ่ม Replace All 4. ปรากฏข้อความแจ้งดำเนินการเสร็จสิ้น กดปุ่ม OK เพื่อปิดข้อความ 5. กดปุ่ม Close เพื่อปิดหน้าจอการ Replace 6. จะเห็นว่ารูปทั้งหมดหายวับไปกับตา เหลือเพียงแค่ข้อความที่เราต้องการ เป็นไงคะ ไม่ยากเลยใช่ไหม จากที่ต้องคอยลบทีละรูป คราวนี้ใช้เวลาแค่ไม่ถึงนาทีก็ลบรูปได้ทั้งหมดเลย  ^^

Read More »

การจัดหมวดหมู่แถวของข้อมูลบน GridView ด้วย C#

          ในการดึงข้อมูลมาแสดงผลในรูปแบบตาราง GridView อาจเป็นหนึ่งในทางเลือกของนักพัฒนาที่จะหยิบไปใช้เป็นเครื่องมือในการแสดงผล แต่ในกรณีที่ข้อมูลมีจำนวนมากอาจทำให้ผู้ใช้รู้สึกตาลายและอ่านยากไปสักหน่อย ผู้พัฒนาจึงต้องพยายามหาวิธีจัดการข้อมูลในการแสดงผลให้สามารถอ่านง่ายและสบายตามากยิ่งขึ้น ดังนั้น ในกรณีที่ข้อมูลมีจำนวนมาก การจำแนกประเภท หรือแยกออกเป็นกลุ่มย่อยๆก็เป็นอีกหนึ่งในทางเลือกที่จะช่วยแก้ปัญหาดังกล่าวได้ ดังนั้น ในบทความนี้ผู้เขียนจะขอแนะนำวิธีการแสดงผลของข้อมูลบน GridView แบบจำแนกออกตามกลุ่ม เพื่ออำนวยความสะดวกให้กับผู้ใช้ในการดูข้อมูลแยกส่วนกัน เพื่อเพิ่มความสามารถให้กับ GridView ซึ่งเราเองใช้งานอยู่และน่าจะคุ้นเคยกันดีอยู่แล้ว ซึ่งจะมีขั้นตอนดังนี้ค่ะ ขั้นตอนในการพัฒนา เตรียมข้อมูลในการแสดงผล โดยจากตัวอย่างนี้ จะทำการสมมุติข้อมูลของดอกไม้ ผลไม้ และต้นไม้ และมีข้อมูลเพื่อใช้ในการแยกประเภทไว้ด้วย เพื่อให้เห็นภาพมากขึ้นค่ะ หมายเหตุ : การประกาศตัวแปร และการดึงข้อมูลเป็นเพียงการยกตัวอย่างง่ายๆ เพื่อให้ผู้ใช้เข้าใจเท่านั้น ในการทำงานจริงผู้อ่านสามารถใช้วิธีการประกาศตัวแปรและเรียกใช้แบบอื่น หรือดึงข้อมูลจากส่วนอื่นได้ ขึ้นอยู่กับความเหมาะสมและความถนัดค่ะ 2. เตรียม GridView ที่จะใช้ในการแสดงผล โดยจะขอยกตัวอย่างให้ดูการแสดงผล GridView แบบทั่วไปก่อนมีการจัดกลุ่ม เพื่อให้เห็นความแตกต่าง ดังนี้ค่ะ เพิ่มเติม : ข้อมูลจำนวนเป็นข้อมูลที่เป็นตัวเลข จึงได้ทำการจัด Format รูปแบบของข้อมูลให้แสดงผลแบบตัวเลข ด้วยการระบุ DataFormatString=”{0:#,##0}” เช่น หากข้อมูล 2500 จะแสดง 2,500 ให้อัตโนมัติ ผลลัพธ์(ก่อนทำการจัดกลุ่ม) 3. เพิ่ม Event ที่ชื่อว่า OnDataBound=”GroupGv_DataBound” ให้กับ GridView เพื่อแสดงผลข้อมูลแบบกลุ่ม และตัดคอลัมน์ประเภท(Category Name)ออกไป เนื่องจากเราจะนำไปใช้แสดงผลในการจัดกลุ่ม 4. เพิ่มโค้ดในส่วนของฝั่งเซิร์ฟเวอร์(C#) ให้กับ Event ของ GridView ที่เราเพิ่มในข้อ 3. เพื่อจัดกลุ่ม ดังนี้ค่ะ ผลลัพธ์ (หลังมีการจัดกลุ่ม) เพิ่มเติม : จากตัวอย่างข้างต้น เนื่องด้วยข้อมูลเป็นการจัดกลุ่มและมีข้อมูลเชิงตัวเลข ผู้เขียนจึงขอแนะนำเพิ่มเติมในส่วนของการแสดงจำนวนรวมแยกในแต่ละกลุ่มไว้ด้วย โดยเพิ่มเติมโค้ดในส่วนของ GroupGv_DataBound ดังนี้ค่ะ ผลลัพธ์           เพียงเท่านี้ท่านก็จะสามารถจัดกลุ่มข้อมูล GridView ของท่าน เพื่อลดปัญหาการดูข้อมูลแบบตารางที่มีแถวข้อมูลจำนวนมากได้บ้างแล้ว ซึ่งผู้เขียนหวังเป็นอย่างยิ่งว่าผู้อ่านจะสามารถนำแนวทาง เกร็ดเล็กๆน้อยๆนี้ไปประยุกต์ใช้กับงานของท่านได้ไม่มากก็น้อยนะคะ หากมีส่วนใดผิดพลาดทางผู้เขียนก็ขออภัยมา ณ ที่นี้ด้วยค่ะ ขอบคุณที่ติดตามนะคะ ^^ แหล่งอ้างอิงhttps://stackoverflow.com/questions/61773421/sum-column-where-condition-with-datatable

Read More »

Crystal Report : Report หลายตัวหัวท้ายต่าง แต่ตรงกลาง Code เหมือนกัน จัดการอย่างไร (WinApp)

หลาย ๆ ครั้งที่ท่านมีรายงานมากกว่า 1 ฉบับที่มีรูปร่างหน้าตาส่วนหัวกระดาษหรือท้ายกระดาษที่ต่างกัน แต่ส่วนของ Detail นั้นเหมือนกันอย่างกับแกะ และเจ้าส่วน Detail นี้ ดั๊นนนน เป็นเจ้า Detail ที่มีเงื่อนไขเยอะแยะ ยุบยับซับซ้อนซ่อนเงื่อน ถ้าจะให้สร้าง File เพื่อวาง Report Viewer เป็น 2 File หรือตามจำนวนรายงานก็ใช่ที่ จากการที่ประสบพบเจอมากับตัว ส่วนหัว ส่วนท้าย ดั๊นนน ไม่คล้ายไม่เหมือนเลย แต่ข้อมูลตรงกลางนั้น ต้องใช้ข้อมูลชุดเดียวกัน เหมือนกัน ทีนี้ถึงกับกุมขมับเลยว่าจะทำยังไงดี ได้คำปรึกษาแนะนำจากพี่ชายที่แสนดี @wachirawit-j มาช่วยชี้แจงแถลงไข ถึงต้องรีบจัดการเก็บข้อมูลไว้ เผื่อครั้งหน้าเจออีกแล้วลืมจะได้กลับมาอ่านซ้ำ ไปดูกันเล้ยยยยยย ตัวแปร cr ที่ประกาศนี้ จะเป็นตัวแปรที่ไว้ใช้ในอนาคตทั้งไฟล์ เป็นตัวแปรที่เป็นตัวเก็บค่าว่า จะเป็น Crystal Report File ตัวไหนและใช้สำหรับกำหนดค่า FormulaField เพื่อใช้กับ Report File นั้น ๆ ตัวอย่าง Code ข้างต้นเป็นการกำหนดค่าให้กับ Formula Field ที่ชื่อว่า ffType ในฝั่ง Crystal Report โดยกำหนดให้มีค่าเท่ากับข้อความว่า “Normal” ซึ่งจะเห็นว่ามีการใช้ตัวแปร cr ในการดำเนินการ Code ส่วนอื่น ๆ ที่มีการกำหนดค่าก็จะมีการเรียกตัวแปร cr นี้เหมือนกัน ซึ่ง cr จะเป็นตัวที่บอกว่าคือ Crystal Report File ไหน Code ข้างต้นเป็นการสร้าง Class ชื่อว่า CRModel มีสมาชิกภายใน Class 2 Report นั่นคือ RptNormal.rpt กำหนดให้ใช้ตัวแปร crNormal และ RptSpecial.rpt กำหนดให้ใช้ตัวแปร crSpecial จากนั้นในส่วนของการตรวจสอบว่าจะใช้ Report ตัวไหนหรือการกำหนด report ให้กับ Reportsource เป็นดังนี้ เพียงเท่านี้ก็จะสามารถจัดการ Code ที่ File เดียวได้แล้ว เย้! ถ้าผู้อ่านมีวิธีที่ดีกว่า สะดวกกว่า สามารถแนะนำได้นะคะ จะขอบคุณยิ่งเลยค่า ^/\^ และหวังว่าจะมีประโยชน์ต่อผู้อ่านไม่มากก็น้อยนะคะ จนกว่าจะพบกันใหม่ สวัสดีค่ะ 🙂

Read More »