สร้างสรร โดย Warapetch@Hotmail.com วรเพชร เรืองพรวิสุทธิ์ => Counter : |
|
รวมคอมโพเนนท์ เครื่องมือช่วยให้การพัฒนาเร็วและแรงขึ้น แบ่งออกเป็นหมวดหมู่อย่างเรียบร้อย
ไม่อยากดาวน์โหลด ไม่อยากค้นหา สั่งซื้อได้ ทั้งไทยและเทศ แผ่นซีดี
เกี่ยวกับโปรแกรมเดลไฟ และรวมคอมโพเนนท์ พร้อมตัวอย่างใช้งาน คลิ๊กตรงนี้
COMPONENT
|
|
คอมโพเนนท์ของผม |
การจัดการกับ Grid แบบ Multi-Select |
ยุ่งยากไหม ?? เวลาต้องเขียนโปรแกรม ที่ผู้ใช้สามารถเลือกข้อมูลได้หลาย Record จาก Grid (Multi-Select) มันไม่ยากสำหรับผู้ที่มีความชำนาญ แต่ถ้าคุณเพิ่งเริ่มต้นล่ะ ... หลักการทำงาน 1. กำหนดให้ Grid ให้สามารถทำงานแบบ Multi-Select Property MultiSelect := True 2. นับจำนวน Row ที่ผู้ใช้เลือก หลังจากผู้ใช้ทำงานเสร็จ Loop เพื่อนับ Row ที่ผู้ใช้เลือก เก็บลง List 3. นำข้อมูลที่ได้มาแสดง.. Loop เพื่อหาข้อมูลใน Row ที่ถูกเลือก จาก List ที่เก็บ ดูเหมือนจะง่าย แต่ไม่หรอก ผมเลยเขียนคอมโพเนนท์ ให้จัดการเรื่องนี้ซะเลย แปะอย่างเดียว เลือกว่าจะสนใจ ฟิลด์ใดบ้าง สามารถเลือกฟิลด์ที่อยู่ Grid ก็ยังได้ หลังเลือกแล้วให้แสดงที่ไหน จำนวน Row ที่เลือก ข้อมูลทั้งหมด ข่าวดี คอมโพเนนท์ผมลองรับ ตระกูล Infopower property AddResultField : String เพิ่มฟิลด์ที่สนใจที่อยู่นอก Grid (ซึ่งอยู่ใน Dataset ที่ Grid มองอยู่) ColumnOnSelect : String คอลัมน์ที่สนใจ เรียงลำดับตามที่ Grid แสดง Dataset : TDataset ดาต้าเซ็ตที่ติดต่อกับ Grid GridAsWork :TDbGrid กริดที่สนใจ SelectDataColumn : Boolean ใช้วิธีการคำนวนแบบเลือกข้อมูลแบบคอมลัมน์ (ปกติ สนใจ ทั้ง Row) TMemoOutput : TMemo มีโมที่ต้องการให้แสดงผลของข้อมูลที่ถูกเลือก Method Execute เป็น Function Result : Boolean Event OnBeforeProcess เหตุการณ์ก่อนทำการประมวลผล OnAfterProcess เหตุการณ์หลังประมวลผล procedure TForm1.MultiSelectData1AfterProcess(Sender: TObject; var NumRowSelected: Integer; var Selected: TList; var SelectedString: TStringList); begin // จะเห็นได้ว่า ในเหตุการณ์ AfterProcess ผมส่งค่าออกมา 3 ตัว เท่านี้ก็ง่ายต่อการจัดการแล้วใช่ไหมครับ // NumRowSelected จำนวน Row ที่ผู้ใช้เลือก // Selected ลิสต์ของRow ที่ผู้ใช้เลือก สามารถนำไปหาข้อมูลจากเทเบิลได้ // SelectedString ข้อมูลที่ถูกเลือกในรูปแบบ String end; สนใจไหมครับ เพียงแค่แปะคอมโพเนนท์ กำหนด Property สั่ง Execute เท่านี้ข้อมูลก็อยู่ในมือเรา Download |