เครื่องมือแก้ไข Downcodes จะแสดงวิธีการใช้งานตัวควบคุม DataGridView ในแอปพลิเคชัน Windows Forms อย่างมีประสิทธิภาพ! บทความนี้จะอธิบายรายละเอียดวิธีการฟังเหตุการณ์ SelectionChanged ใช้คุณสมบัติ CurrentRow เพื่อรับแถวที่เลือกในปัจจุบัน และวิธีการเปลี่ยนสไตล์ภาพของแถว นอกจากนี้ยังจะรวมกับกรณีจริง เช่น การลบแถวที่เลือก เพื่อช่วยให้คุณเข้าใจและประยุกต์ใช้เทคโนโลยีเหล่านี้ได้ดีขึ้น นอกจากนี้ บทความนี้ยังมีข้อควรระวังและคำถามที่พบบ่อยทั่วไป โดยหวังว่าจะตอบคำถามที่คุณพบเมื่อใช้ DataGridView
เมื่อทำงานกับตัวควบคุม DataGridView ในแอปพลิเคชัน Windows Forms การเลือกและจัดการแถวเฉพาะอย่างแม่นยำถือเป็นข้อกำหนดทั่วไป ซึ่งมักจะเกี่ยวข้องกับการฟังเหตุการณ์ที่เหมาะสม การใช้คุณสมบัติที่ถูกต้องเพื่อค้นหาแถว และการทำความเข้าใจวิธีการเปลี่ยนแปลงหรือใช้แถวของข้อมูลโดยทางโปรแกรม กลยุทธ์สำคัญคือการใช้เหตุการณ์ SelectionChanged และคุณสมบัติ CurrentRow เพื่อให้บรรลุฟังก์ชันนี้
การรับฟังเหตุการณ์ SelectionChanged เพื่อบันทึกการเปลี่ยนแปลงการเลือกของผู้ใช้อย่างมีประสิทธิภาพเป็นขั้นตอนสำคัญในการบรรลุเป้าหมายนี้ เมื่อใดก็ตามที่ผู้ใช้เปลี่ยนแถวที่เลือก เหตุการณ์ SelectionChanged จะถูกทริกเกอร์ ในฟังก์ชันตัวจัดการของเหตุการณ์นี้ คุณสามารถรับการอ้างอิงไปยังแถวที่เลือกในปัจจุบันผ่านคุณสมบัติ CurrentRow ของ DataGridView สิ่งนี้ไม่เพียงแต่ทำให้แน่ใจได้ว่าคุณจะปฏิบัติงานในแถวที่ผู้ใช้ใส่ใจจริงๆ เสมอ แต่ยังให้กลไกในการตอบสนองต่อการโต้ตอบของผู้ใช้อย่างทันท่วงทีอีกด้วย
ในแอปพลิเคชัน .NET Framework Windows Forms แต่ละตัวควบคุมมีวิธีโต้ตอบกับผู้ใช้ผ่านเหตุการณ์ต่างๆ สำหรับการควบคุมที่ซับซ้อน เช่น DataGridView เหตุการณ์ SelectionChanged จะกลายเป็นกุญแจสำคัญในการจับภาพการเปลี่ยนแปลงการเลือกแถวของผู้ใช้ เมื่อสมัครรับเหตุการณ์นี้ใน DataGridView เราจะได้รับแจ้งทันทีเมื่อผู้ใช้เลือกแถวใหม่
ตัวอย่างเช่น คุณสามารถเพิ่มโค้ดต่อไปนี้เพื่อสมัครรับเหตุการณ์ในตัวสร้างของแบบฟอร์มหรือในตัวจัดการเหตุการณ์โหลดของแบบฟอร์ม:
this.dataGridView1.SelectionChanged += ใหม่ System.EventHandler (this.dataGridView1_SelectionChanged);
ถัดไป ในเมธอด dataGridView1_SelectionChanged คุณสามารถใช้คุณสมบัติ dataGridView1.CurrentRow เพื่อเข้าถึงแถวที่เลือกในปัจจุบัน
เมื่อเหตุการณ์ SelectionChanged ถูกทริกเกอร์ คุณสมบัติ CurrentRow ของ DataGridView จะชี้ไปที่แถวปัจจุบันที่ผู้ใช้เลือก ด้วยคุณสมบัตินี้ เราจะได้รับข้อมูลมากมายเกี่ยวกับแถวปัจจุบัน เช่น ดัชนี ข้อมูลที่มีอยู่ และคุณสมบัติแบบกำหนดเองใดๆ เกี่ยวกับแถวนั้น
โมฆะส่วนตัว dataGridView1_SelectionChanged (ผู้ส่งวัตถุ EventArgs e)
-
ถ้า (dataGridView1.CurrentRow != null)
-
// ที่นี่คุณสามารถเขียนโค้ดเพื่อจัดการแถวที่เลือกได้ เช่น:
ดัชนี int = dataGridView1.CurrentRow.Index;
Console.WriteLine($ดัชนีของบรรทัดที่เลือกในปัจจุบันคือ: {index});
-
-
หลังจากที่คุณเข้าใจวิธีการเลือกและอ้างอิงแถวที่ต้องการแล้ว คุณอาจต้องการเปลี่ยนสไตล์หรือคุณสมบัติของแถวที่เลือกโดยทางโปรแกรมเพื่อให้คำติชมของผู้ใช้ที่ใช้งานได้ง่ายขึ้น ตัวควบคุม DataGridView มีหลายวิธีในการบรรลุเป้าหมายนี้ รวมถึงแต่ไม่จำกัดเฉพาะการเปลี่ยนสีพื้นหลังของแถว สไตล์ข้อความ ฯลฯ
โมฆะส่วนตัว HighlightRow (int rowIndex)
-
dataGridView1.Rows[rowIndex].DefaultCellStyle.BackColor = Color.Yellow; //เปลี่ยนสีพื้นหลังของแถว
dataGridView1.Rows[rowIndex].DefaultCellStyle.Font = แบบอักษรใหม่ (Arial, 12, FontStyle.Bold); // เปลี่ยนรูปแบบแบบอักษร
-
ในสถานการณ์การใช้งานจริง ความจำเป็นในการเลือกแถวที่เฉพาะเจาะจงมักจะมาพร้อมกับชุดการดำเนินการในแถวเหล่านี้ เช่น การลบ การแก้ไข หรือการแสดงข้อมูลโดยละเอียด การเรียนรู้วิธีเลือกและจัดการแถวใน DataGridView อย่างเชี่ยวชาญถือเป็นส่วนสำคัญในการพัฒนา
ดำเนินการลบอย่างง่ายเป็นตัวอย่าง เมื่อผู้ใช้เลือกหนึ่งแถวขึ้นไป คุณอาจต้องระบุปุ่มเพื่อลบแถวที่เลือกเหล่านี้ ในขณะนี้ นอกเหนือจากการฟังเหตุการณ์ SelectionChanged แล้ว คุณยังต้องพิจารณาวิธีใช้ตรรกะในการลบแถวด้วย
โมฆะส่วนตัว btnDelete_Click (ผู้ส่งวัตถุ EventArgs e)
-
foreach (รายการ DataGridViewRow ใน this.dataGridView1.SelectedRows)
-
dataGridView1.Rows.RemoveAt (รายการดัชนี);
-
-
ตัวอย่างนี้แสดงวิธีการวนซ้ำแถวที่เลือกทั้งหมดและลบออก เป็นที่น่าสังเกตว่าเมื่อจัดการกับการดำเนินการลบ จะต้องได้รับการดูแลเป็นพิเศษเมื่อทำการเปลี่ยนแปลงดัชนีแถว เมื่อคุณลบแถว ดัชนีของแถวถัดไปจะลดลงตามไปด้วย
เมื่อใช้ DataGridView สำหรับการจัดการแถว นอกเหนือจากรายละเอียดทางเทคนิคข้างต้น ยังมีข้อควรพิจารณาบางประการที่ต้องพิจารณา:
เมื่อแก้ไขคอลเลกชัน โปรดใส่ใจกับการเปลี่ยนแปลงในดัชนี: เมื่อวนซ้ำคอลเลกชันแถวของ DataGridView เพื่อดำเนินการต่างๆ เช่น การลบ การลบแถวจะทำให้ขนาดคอลเลกชันเปลี่ยนแปลง ซึ่งส่งผลต่อดัชนี แนวทางทั่วไปคือการเริ่มต้นเมื่อสิ้นสุดการรวบรวมและดำเนินการต่อไป ตรวจสอบความสอดคล้องของข้อมูล: เมื่อคุณเพิ่ม ลบ หรือแก้ไขแถวใน DataGridView ตรวจสอบให้แน่ใจว่าแหล่งข้อมูลด้านหลังได้รับการอัปเดตตามนั้น เพื่อรักษาความสอดคล้องของ UI และข้อมูล ประสบการณ์ผู้ใช้: เมื่อดำเนินการแถว โดยเฉพาะอย่างยิ่งการดำเนินการลบและการปรับเปลี่ยน ให้พิจารณาให้คำติชมที่เหมาะสมแก่ผู้ใช้ เช่น กล่องโต้ตอบการยืนยันการดำเนินการ เพื่อหลีกเลี่ยงการทำงานผิดพลาด
ด้วยการทำความเข้าใจอย่างลึกซึ้งและการประยุกต์ใช้กลยุทธ์และเทคนิคเหล่านี้ คุณสามารถดำเนินการแถวใน DataGridView ในแอปพลิเคชัน Windows Forms ได้อย่างมีประสิทธิภาพ และมอบประสบการณ์การโต้ตอบที่ใช้งานง่ายและมีประสิทธิภาพแก่ผู้ใช้
1. จะเลือกแถวที่ระบุใน DataGridView ได้อย่างไร? การเลือกแถวที่ระบุใน DataGridView สามารถทำได้โดยการเขียนโค้ด คุณสามารถใช้คุณสมบัติแถวของ DataGridView เพื่อเข้าถึงคอลเลกชันแถวใน DataGridView จากนั้นใช้ดัชนีเพื่อค้นหาแถวที่ระบุ ตัวอย่างเช่น คุณสามารถใช้รหัสต่อไปนี้เพื่อเลือกแถวที่สาม:
dataGridView1.Rows[2].เลือกแล้ว = จริง;
เมื่อคุณสมบัติที่เลือกถูกตั้งค่าเป็นจริง แถวจะถูกเลือก คุณสามารถตั้งค่าสไตล์อื่นๆ เพิ่มเติมเพื่อเน้นแถวที่เลือกได้ เช่น การเปลี่ยนสีพื้นหลัง แบบอักษร ฯลฯ
2. จะเลือกกลุ่มแถวที่ตรงตามเงื่อนไขเฉพาะใน DataGridView ได้อย่างไร หากคุณต้องการเลือกกลุ่มแถวที่ตรงตามเงื่อนไขเฉพาะ คุณสามารถใช้ฟังก์ชันการสำรวจเส้นทางของ DataGridView และเงื่อนไขการตัดสินใจแบบกำหนดเองเพื่อให้บรรลุเป้าหมายนี้ได้ ตัวอย่างเช่น สมมติว่าคุณต้องการเลือกแถวทั้งหมดที่มีอายุมากกว่า 18 ปี คุณสามารถใช้โค้ดต่อไปนี้:
foreach (แถว DataGridViewRow ใน dataGridView1.Rows){ // สมมติว่าอายุเป็นคอลัมน์ที่สาม int age = Convert.ToInt32(row.Cells[2].Value); if(age > 18) { row.Selected = true; เลือกแถวที่ตรงกับเกณฑ์}}
รหัสนี้จะสำรวจแต่ละแถวใน DataGridView เพื่อตรวจสอบว่าค่าของคอลัมน์อายุมากกว่า 18 หรือไม่ และหากเป็นเช่นนั้น ให้เลือกแถวนั้น
3. จะเลือกแถวที่ได้รับจากการค้นหาคำหลักใน DataGridView ได้อย่างไร หากคุณต้องการค้นหาและเลือกแถวที่ผ่านการรับรองตามคำสำคัญ คุณสามารถใช้ตัวควบคุม DataGridView และกล่องข้อความร่วมกันได้ หลังจากที่ผู้ใช้ป้อนคำสำคัญลงในกล่องข้อความ คุณสามารถเขียนโค้ดเพื่อค้นหาและเลือกบรรทัดที่ตรงกันได้ ตัวอย่างเช่น สมมติว่าคีย์คือข้อมูลในคอลัมน์ใดคอลัมน์หนึ่ง คุณสามารถใช้โค้ดต่อไปนี้:
string keyword = textBox1.Text;foreach(แถว DataGridViewRow ใน dataGridView1.Rows){/ // สมมติว่าคีย์เวิร์ดเป็นค่าสตริงคอลัมน์ที่สอง = row.Cells[1].Value.ToString(); ) { row.Selected = true; // เลือกแถวที่ตรงกัน}}
รหัสนี้จะสำรวจแต่ละแถวใน DataGridView ตรวจสอบว่าคำหลักปรากฏในค่าในคอลัมน์ที่ระบุหรือไม่ และหากเป็นเช่นนั้น ให้เลือกแถวนั้น
ฉันหวังว่าบทความนี้จะช่วยให้คุณเข้าใจและใช้ตัวควบคุม DataGridView ได้ดีขึ้น และปรับปรุงประสิทธิภาพการพัฒนาแอปพลิเคชัน Windows Forms ของคุณ เครื่องมือแก้ไข Downcodes จะยังคงนำเสนอเคล็ดลับที่เป็นประโยชน์เพิ่มเติมแก่คุณต่อไป ดังนั้นโปรดคอยติดตาม!