ผมใช้ datatable api (่js lib) เพราะอยากใช้ฟังก์ชั่น sort กับ search ของมัน
ผมให้ตารางแสดงรายการทีละ 500 แถว เพื่มไม่ให้มันหน่วง และกินสเปค แต่ความจริงมันเรนเดอร์ (draw) แถวรอไว้ทั้ง 5000เลย เพราะผมเห็นตอน debugging เส้น grid (ไม่รู้เรียกว่าอะไร) ที่แสดงขนาดของตารางมันทะลุขอบบนล่างตาราง และเลื่อนตาม แถวเวลาผมเลื่อนสกอร์
แถม auto pagination ก็ไม่ทำงานอีก ต้องให้คนใช้กดหน้า page เอาเอง ไม่รู้เพราะมันไม่รองรับ ie หรือเปล่า
มีอีก lib หนึ่งที่ทำงานร่วมกับ html table ให้ไหลลื่น เหมือนมันเรนเดอร์ตารางออกมาเป็นภาพ น่าจะใช้ webgl แล้วแสดงตารางจริงๆ ในส่วนที่เมาส์โฟกัส แต่เอามาใช้รวมกับ datatable คงต้องแต่เขียนให้เรนเดอร์ใหม่หลังจากที่เกิด event sort กับ search และเปลี่ยน page ไม่รู้จะทำได้หรือเปล่า ผมไม่อยากทำ กลัวมันบานปลาย
มีบางคอลัมน์ใช้ฟังก์ชั่นทางคณิตสาตร์นิดหน่อย ไม่รู้ว่าเป็นสาเหตุให้หน่วงหรือเปล่า คือเอาใช้เวลางานสินค้า (มาผลิต) มาหักลบกับเวลาได้รับสินค้า แล้วทำฟอร์แมต ให้เป็น +-0:00 แล้วใส่ css class ให้มีสีว่าติดลบหรือบวก ตอนพิมพ์ กำลังคิดว่าให้มันเซ็ตเวลารอไว้ใน database เลยแต่ดันนึกขึ้นได้ว่าทำไม่ได้เพราะ ถ้ายังไม่ได้รับงาน ผมก็ต้องเอามันมาลบกับเวลาปัจจุบันอยู่ดี เอา date datatype สองตัวมาลบกัน 5000 ครั้ง คิดว่าคงไม่ใช้เวลาเยอะ หรือเซ็ตรอไว้ใน database เลยพอ แถวไหนมัน null ก็ค่อยคำนวณเอาเวลาใช้งานสินค้ามาลบกับเวลาปัจจุบัน
ผมอาจจะบ่นอย่างเดียวแทนที่จะเอาเวลาไปทดลองความแตกต่างของเวลา แต่ด้วยที่ผมเขียนเว็บบน excel อีกทีเลย เช็คเวลาที่ใช้ (ลืมศัพท์อีกละ) ตอน debug จากไลน์หนึ่งไปไลน์หนึ่งไม่ได้ ide มันเก่าแล้ว แต่จะเขียนให้เวลาที่ใช้อยู่ในตัวแปรก็ได้ แต่ต้องตัดแปะโค้ด ทุกๆครั้งเวลาจะเช็คจากบรรทัดหนึ่งไปอีกบรรทัดหนึ่ง แถมเปิดคอนโซลดูไม่ได้ เพราะมันเป็นเว็บคอนโทรลเชยๆ บน vba userform อีกที ต้องส่งค่าผ่าน message box หรือในตัวแปลแล้วเอาเมาส์ไปชี้ตัวแปรเพื่อดูตรง tooltip
อีกสาเหตุหนึ่งที่อาจดีเลย์คือมันคือมันมีคอลัมน์ที่สามารถ ดู remark หมายเหตุหรือปัญหาได้ และแสดงเป็น custom tooltip อีก ขนาดผมไปลอกโค้ดเขามา ยังแสดงผลผิดพลาดชอบค้างตอนเมาส์ hover ทุกวันนี้ก็ยังไม่แก้ (ที่ทำมาไม่มีใครใช้หรอกเลยไม่แก้) แต่ด้วยมันผมออกแบบให้มัน remark พร้อมได้ที่และหลายๆรายการเลยเก็บข้อมูล database ตารางหลักเป็น remark code แล้ว merge กับ database อีกตารางหนึ่งที่เก็บข้อความไว้ เพราะไม่อยากใส่ หมายเหตุเดียวกันยาวๆ เหมือนกันๆ หลายช่อง
มาคิดอีกทีตารางรีพอร์ตผมอาจจะออกแบบผิดประเด็นไปหน่อย เพราะไมมีใครเขาอยากโฟกัสกับงานที่ส่งเสร็จแล้ว รายการแบบรวมพวกนั้นเอามาทำเป็นไฟล์รีพอร์ตให้ดาวน์โหลดอีกทีน่าจะดีกว่า แล้วแสดงรีพอร์ตเป็นยอดภาพรวมแต่ละ ไลน์ผลิต แต่ละ supliers ส่วนรายการที่ติดลบ ก็ทำเป็น สไลด์โชว์ไป ให้ตายยังไงมันก็ไม่เกิน 100 รายการหรอก เพราะถ้าเกิน บริษัทคง
หยุดไลน์ไปหลายทีแล้ว 555555555
ความที่ตอนแรกผมโดนเร่ง ด้วยความมักง่าย ผมเลยส่งออกไฟล์ excel จากตาราง html ไปเลยแถมส่งผ่านคลิปบอร์ดเอาไปแปลงเป็น excel และคลิปบอร์ดมันเป็นพื้นที่ทุกๆแอพถึงได้ ไม่ควรทำ แต่ที่ทำแบบนั้นเพราะ มันส่งข้อมูลระหว่าง vba กับ html ได้ไวที่สุดแล้ว (ความจริงขี้เกียจแถมโดนเร่ง ทำคนเดียวมันเศร้านะแต่ความจริง vba มันเข้าถึง dom ตรงๆ ได้อยู่แล้ว) และผมทำฟีเจอร์ส่งออก excel แค่รายการที่ selected ไว้ก็เลยใช้มันส่งออกทั้งหมดได้ด้วยเลย ทำให้เวลาเอาได้ข้อมูลของวันนี้จะต้องมานั่งรอ 3 นาทีให้มันสร้างตารางก่อน ถ้าเอาทั้งเดือนก็ครึ่ง ช.ม. กว่าๆ
ความจริงมันส่งออกจาก ดาต้าเบสง่ายๆ โดยตรงได้ด้วยซ้ำ จาก office.access ที่เป็น framework มีให้ใช้ทั้งคอมธรรมดาที่ลง office หรือ windows server
มั่วประเด็นมาไกลละ สรุปว่าผมจะทำส่งออก excel ด้วย office.access.apllcation และทำตารางรีพอร์ตให้สั้นลง
ที่บ่นมาตั้งนานเพราะผมเป็นคนเรียบเรียงความคิดตัวเองไม่เก่ง พิมพ์ไปคิดไป โยงไป เหมือนจะบกพร่อมทางการสื่อสาร
ตารางบนเว็บ (html table) จำนวน 5000+ แถวใช้เวลาดึงข้อมูลและเรนเดอร์ 2-3 นาที ใช้เวลามากเกินไปมั้ยครับ
ผมให้ตารางแสดงรายการทีละ 500 แถว เพื่มไม่ให้มันหน่วง และกินสเปค แต่ความจริงมันเรนเดอร์ (draw) แถวรอไว้ทั้ง 5000เลย เพราะผมเห็นตอน debugging เส้น grid (ไม่รู้เรียกว่าอะไร) ที่แสดงขนาดของตารางมันทะลุขอบบนล่างตาราง และเลื่อนตาม แถวเวลาผมเลื่อนสกอร์
แถม auto pagination ก็ไม่ทำงานอีก ต้องให้คนใช้กดหน้า page เอาเอง ไม่รู้เพราะมันไม่รองรับ ie หรือเปล่า
มีอีก lib หนึ่งที่ทำงานร่วมกับ html table ให้ไหลลื่น เหมือนมันเรนเดอร์ตารางออกมาเป็นภาพ น่าจะใช้ webgl แล้วแสดงตารางจริงๆ ในส่วนที่เมาส์โฟกัส แต่เอามาใช้รวมกับ datatable คงต้องแต่เขียนให้เรนเดอร์ใหม่หลังจากที่เกิด event sort กับ search และเปลี่ยน page ไม่รู้จะทำได้หรือเปล่า ผมไม่อยากทำ กลัวมันบานปลาย
มีบางคอลัมน์ใช้ฟังก์ชั่นทางคณิตสาตร์นิดหน่อย ไม่รู้ว่าเป็นสาเหตุให้หน่วงหรือเปล่า คือเอาใช้เวลางานสินค้า (มาผลิต) มาหักลบกับเวลาได้รับสินค้า แล้วทำฟอร์แมต ให้เป็น +-0:00 แล้วใส่ css class ให้มีสีว่าติดลบหรือบวก ตอนพิมพ์ กำลังคิดว่าให้มันเซ็ตเวลารอไว้ใน database เลยแต่ดันนึกขึ้นได้ว่าทำไม่ได้เพราะ ถ้ายังไม่ได้รับงาน ผมก็ต้องเอามันมาลบกับเวลาปัจจุบันอยู่ดี เอา date datatype สองตัวมาลบกัน 5000 ครั้ง คิดว่าคงไม่ใช้เวลาเยอะ หรือเซ็ตรอไว้ใน database เลยพอ แถวไหนมัน null ก็ค่อยคำนวณเอาเวลาใช้งานสินค้ามาลบกับเวลาปัจจุบัน
ผมอาจจะบ่นอย่างเดียวแทนที่จะเอาเวลาไปทดลองความแตกต่างของเวลา แต่ด้วยที่ผมเขียนเว็บบน excel อีกทีเลย เช็คเวลาที่ใช้ (ลืมศัพท์อีกละ) ตอน debug จากไลน์หนึ่งไปไลน์หนึ่งไม่ได้ ide มันเก่าแล้ว แต่จะเขียนให้เวลาที่ใช้อยู่ในตัวแปรก็ได้ แต่ต้องตัดแปะโค้ด ทุกๆครั้งเวลาจะเช็คจากบรรทัดหนึ่งไปอีกบรรทัดหนึ่ง แถมเปิดคอนโซลดูไม่ได้ เพราะมันเป็นเว็บคอนโทรลเชยๆ บน vba userform อีกที ต้องส่งค่าผ่าน message box หรือในตัวแปลแล้วเอาเมาส์ไปชี้ตัวแปรเพื่อดูตรง tooltip
อีกสาเหตุหนึ่งที่อาจดีเลย์คือมันคือมันมีคอลัมน์ที่สามารถ ดู remark หมายเหตุหรือปัญหาได้ และแสดงเป็น custom tooltip อีก ขนาดผมไปลอกโค้ดเขามา ยังแสดงผลผิดพลาดชอบค้างตอนเมาส์ hover ทุกวันนี้ก็ยังไม่แก้ (ที่ทำมาไม่มีใครใช้หรอกเลยไม่แก้) แต่ด้วยมันผมออกแบบให้มัน remark พร้อมได้ที่และหลายๆรายการเลยเก็บข้อมูล database ตารางหลักเป็น remark code แล้ว merge กับ database อีกตารางหนึ่งที่เก็บข้อความไว้ เพราะไม่อยากใส่ หมายเหตุเดียวกันยาวๆ เหมือนกันๆ หลายช่อง
มาคิดอีกทีตารางรีพอร์ตผมอาจจะออกแบบผิดประเด็นไปหน่อย เพราะไมมีใครเขาอยากโฟกัสกับงานที่ส่งเสร็จแล้ว รายการแบบรวมพวกนั้นเอามาทำเป็นไฟล์รีพอร์ตให้ดาวน์โหลดอีกทีน่าจะดีกว่า แล้วแสดงรีพอร์ตเป็นยอดภาพรวมแต่ละ ไลน์ผลิต แต่ละ supliers ส่วนรายการที่ติดลบ ก็ทำเป็น สไลด์โชว์ไป ให้ตายยังไงมันก็ไม่เกิน 100 รายการหรอก เพราะถ้าเกิน บริษัทคง หยุดไลน์ไปหลายทีแล้ว 555555555
ความที่ตอนแรกผมโดนเร่ง ด้วยความมักง่าย ผมเลยส่งออกไฟล์ excel จากตาราง html ไปเลยแถมส่งผ่านคลิปบอร์ดเอาไปแปลงเป็น excel และคลิปบอร์ดมันเป็นพื้นที่ทุกๆแอพถึงได้ ไม่ควรทำ แต่ที่ทำแบบนั้นเพราะ มันส่งข้อมูลระหว่าง vba กับ html ได้ไวที่สุดแล้ว (ความจริงขี้เกียจแถมโดนเร่ง ทำคนเดียวมันเศร้านะแต่ความจริง vba มันเข้าถึง dom ตรงๆ ได้อยู่แล้ว) และผมทำฟีเจอร์ส่งออก excel แค่รายการที่ selected ไว้ก็เลยใช้มันส่งออกทั้งหมดได้ด้วยเลย ทำให้เวลาเอาได้ข้อมูลของวันนี้จะต้องมานั่งรอ 3 นาทีให้มันสร้างตารางก่อน ถ้าเอาทั้งเดือนก็ครึ่ง ช.ม. กว่าๆ
ความจริงมันส่งออกจาก ดาต้าเบสง่ายๆ โดยตรงได้ด้วยซ้ำ จาก office.access ที่เป็น framework มีให้ใช้ทั้งคอมธรรมดาที่ลง office หรือ windows server
มั่วประเด็นมาไกลละ สรุปว่าผมจะทำส่งออก excel ด้วย office.access.apllcation และทำตารางรีพอร์ตให้สั้นลง
ที่บ่นมาตั้งนานเพราะผมเป็นคนเรียบเรียงความคิดตัวเองไม่เก่ง พิมพ์ไปคิดไป โยงไป เหมือนจะบกพร่อมทางการสื่อสาร