Tip!!! การเขียนโปรแกรมอ้างอิงกรณี Gridview ซ้อน Gridview

   เมื่อทำการเขียนโปรแกรมแล้วเราจะพบปัญหาว่าการเขียนโดยใช้ Gridview1 มี Template Field ที่มี Gridview2 อยู่ในนั้น และใน Gridview2 ก็จะมี Button อยู่ในนั้นด้วย ปัญหาที่เกิดขึ้นจะเจอว่า ถ้าต้องการกดปุ่มดังกล่าวใน Gridview2 แล้วจะอ้างอิงมายัง Gridview1 จะทำอย่างไรดี

Protected Sub btn_Button1_Click(sender As Object, e As System.EventArgs)

  '-- สร้างปุ่มขึ้นมาเพื่อทำการรองรับปุ่มที่ถูกกดมาจริง
  Dim btn_Button1 As Button = CType(sender, Button) 
  '-- สร้างตัวแปร Gridview1_Row เพื่อดูว่าปุ่ม Button1 นั้นอยู่ใน Row ไหน
  Dim GridView1_Row As GridViewRow = CType(btn_Button1.NamingContainer, GridViewRow)
  '-- สร้างตัวแปร Gridview1 เพื่อรับ Gridview ใน Gridview1_Row นี้
  Dim Gridview1 As GridView = CType(GridView1_Row.NamingContainer, GridView)
  '-- สร้างตัวแปร lbl รับ Label Object ใน Gridview1_Row
  Dim lbl As Label = CType(GridView1_Row.FindControl("lbl"), Label)
End Sub

  ในปัญหาเดียวกัน ถ้ามีการซ้อนกันของ Gridview มากกว่า 1 ชั้นก็สามารถอ้างอิงกลับไปได้เรื่อยๆเช่นกัน

Comments

Popular posts from this blog

การตั้งเวลาระหว่าง Server และ Client

วิธีตั้งค่า NTP บน Primary Domain Controller

Installation and Run Node.JS on IIS