แสดงหัวตารางซ้ำ

บันทึกความจำกันอีกตอนหนึ่งเพราะช่วงนี้ต้องใช้ OpenOffice.org (OO.o) อย่างหนักเมื่อก่อนไม่ค่อยได้ใช้มากเท่าไหร่นักอย่างมากก็พิมพ์งานนิดหน่อย แต่ช่วงนี้เริ่มต้องใช้รูปแบบที่ซับซ้อนขึ้น ตอนนี้กว่าจะหาเจอก็นานอยู่เหมือนกัน หรืออีกเหตุผลหนึ่งก็เพราะไม่คุ้นกับ OO.o เท่าไหร่นัก

ข้อมูลปริมาณมาก

รูปที่ 1: ข้อมูลปริมาณมาก


เมื่อข้อมูลมีความยาวเกินกว่า 1 หน้า

รูปที่ 2: เมื่อข้อมูลมีความยาวเกินกว่า 1 หน้า

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

Table

รูปที่ 3: Table


Table > Table Properties...

รูปที่ 4: Table > Table Properties...

ดังนั้นวิธีแก้ไขที่เจอก็คือกำหนดให้แสดงหัวตารางซ้ำ สามารถเข้าไปกำหนดค่าได้ 2 วิธีคือ 1 เมื่อคลิ้กที่ตารางจะมีแถบเครื่องมือ Table ดังเช่นรูปที่ 3 จากนั้นคลิ้กที่ปุ่มที่อยู่ในกรอบสีแดง และวิธีที่ 2 คือจากเมนู Table เลือก Table Properties... ดังรูปที่ 4

Table Format | Table Flow > Repeat Heading

รูปที่ 5: Table Format | Table Flow > Repeat Heading

จะได้หน้าต่าง Table Format ดังรูปที่ 5 จากนั้นเลือกที่แถบ Table Flow และคลิ้กเลือกที่ Repeat Heading และเปลี่ยนจำนวนแถวของหัวตารางที่ต้องการให้แสดงซ้ำตามต้องการจากนั้นจะได้ตารางดังรูปที่ 6 ซึ่งหากแก้ไขหัวตารางในรูปที่ 6 นี้ก็จะส่งผลไปยังหัวตารางที่เห็นในรูปที่ 1 ด้วย

Repeat Table Heading

รูปที่ 6: Repeat Table Heading

ฟังก์ชั่นนี้เป็นฟังก์ชั่นพื้นฐานที่พบได้ในโปรแกรม Word Processing ทั่วไป ทั้ง MS Word, และ Pages ครับ

โปรแกรมที่ใช้: OpenOffice.org 3.1.1 Writer

Apache Ant in Actions I – Overview

ช่วงนี้ได้มีโอกาสจับงาน Java ที่ต้องมี Source ไฟล์มาเกี่ยวข้องด้วยเยอะ ไอ้การจะมานั่งจัดการไฟล์จำนวนมากด้วยมือก็เห็นจะไม่ใช่เรื่องดีเท่าไหร่ งานนี้ก็เลยต้องอาศัย Build Tools มาช่วยงานสักหน่อย ก็ได้แค่โปรแกรมที่ชื่อว่า Apache Ant หรือที่รู้จักกันดีและเรียกกันสั้นๆ ว่า Ant ตัวนี้สักหน่อย
Ant เป็นเครื่องมือที่ช่วยจัดการงานต่างๆ ที่เราต้องทำเข้าไว้ด้วยกัน ในรูปแบบของชุดคำสั่ง เทียบได้กับ make ใน unix ซึ่งข้อดีของ Ant คือ มันเป็น OS Independent ที่เขียนขึ้นมาด้วย Java ทำให้เขียนโปรแกรมแล้วนำคำสั่งชุดคำสั่งนี้ไปทำงานหรือแก้ไขที่ได้ก็ได้โดยให้ผลลัพธ์ (จาก Ant) เช่นเดียวกัน

Build File

คือชุดคำสั่งของ Ant ที่เราเขียนและกำหนดไว้เพื่อให้ Ant ทำตาม อยู่ในไฟล์ ‘build.xml’ (เป็นค่า default) จะเรียกว่า build file มีโครงสร้างตามรูปด้านล่าง ภายใน build file ดังกล่าวจะหมายถึง 1 โปรเจ็คที่เรากำลังสนใจอยู่ ก่อนที่จะทำงาน เราอาจจะสร้างประกาศค่าต่างๆ ที่จำเป็นต้องใช้ในการทำงานไว้ในส่วนของ Property (Properties) จากนั้นจึงค่อยสร้างเป้าหมาย (target) สำหรับการทำงานไว้ เป็นกลุ่มๆ ส่วนตัวผมจะแบ่งไว้ให้เป็นเป้าหมายที่ย่อยที่สุดเท่าที่จะทำได้ เช่น สร้างโฟลเดอร์, โหลด dependency ไฟล์, compile ซอร์สโค้ด, สร้าง jar ไฟล์ และ deploy ลง Server เป็นต้น เพื่อให้ง่ายต่อการจัดการ งาน (Task) ที่ต้องทำภายใน Target อีกที ส่วนตัวแล้วชอบวางลำดับของ Target ไว้ตามลำดับการทำงานจากบนลงล่างเพื่อให้ง่ายตอนเขียน แต่ลำดับของ Target ภายใน build file ไม่มีผลกระทบต่อการทำงานใดๆ ของ Ant เลย แต่ Ant จะเริ่มการทำงานจาก default target ที่ระบุไว้ใน attribute ของแท็ก project

Apache Ant's Build File Structure

Apache Ant's Build File Structure

การทำงานของ Ant หากไม่ระบุ target ที่ต้องการ Ant จะเริ่มทำงานจากค่า default ในแท็ก project โดยก่อนการทำงานของ target ดังกล่าว Ant จะตรวจสอบว่า target นี้มี target อื่นที่ต้องทำก่อนหน้าหรือไม่ (Dependency Target – depends) เช่น หากต้องการสร้าง jar ย่อมต้องใช้ class ไฟล์ ที่ได้จากการ compile ซอร์สโค้ดล่าสุดซะก่อน หากเราระบุ target ดังกล่าวไว้ Ant จะทำหน้าที่ไปตรวจสอบว่าซอร์สโค้ดดังกล่าวถูก compile แล้วหรือยัง หากมีไฟล์ที่เปลี่ยนแปลงและยังไม่ได้ compile ก็จะทำให้อัตโนมัติ

หลังจากเสร็จการทำงานใน Dependency Target แล้ว Ant ก็จะเริ่มทำตาม Task ที่ระบุไว้ภายใน Target จากบนลงล่างตามลำดับ ซึ่งภายใน Target อาจจะใช้ Ant Call (<antcall … ) เพื่อเรียกการทำงานของ Target อื่นๆ ที่อยู่ภายใน build file ก็ได้ตามต้องการ

Official Site: http://ant.apache.org
Manual: http://ant.apache.org/manual/index.html