[.NET] gridview checkbox header 全選功能

看板Visual_Basic作者 (Frex)時間11年前 (2014/08/29 21:35), 編輯推噓4(409)
留言13則, 4人參與, 最新討論串1/1
在 DataGridView 的頭多了一個 Checkbox 用來點選全選所有列的 Checkbox 再點一次變成全部取消 寫法是這樣 目前若預設全部都沒選是正常 但若有幾列選過 點選後就會怪怪的 那一列的 Checkbox就不動了 不知道是哪邊有問題 找了半天找不出Bug 有人可以看一下是哪邊有異嗎? 謝謝 'Set Checkbox Header Dim rect As Rectangle = dgvMyDataGridView.GetCellDisplayRectangle(5, -1, True) rect.X = rect.Location.X + rect.Width / 4 rect.Y = rect.Location.Y + (rect.Height / 2 - 9) Dim cbxHeader As New CheckBox cbxHeader.Name = "checkboxHeader" cbxHeader.Size = New Size(18, 18) cbxHeader.Location = rect.Location If cbxHeader IsNot Nothing Then AddHandler cbxHeader.CheckedChanged, New EventHandler(AddressOf ChecboxHeaderChangeEvent) End If dgvMyDataGridView.Controls.Add(cbxHeader) Private Sub ChecboxHeaderChangeEvent(ByVal sender As Object, ByVal e As EventArgs) 'Get Current Header Status Dim bolCurStatus As Boolean = dgvMyDataGridView.Rows(dgvMyDataGridView.CurrentCell.RowIndex).Cells(5).Value For Each row As DataGridViewRow In dgvMyDataGridView.Rows row.Cells(5).Value = Not bolCurStatus Debug.WriteLine(row.Index & " " & row.Cells(5).Value) ' 這邊印出來的值是正常的,所有列會都True或False ' 但介面上看到的,先點過的那個那列再點全選就會有問題 Next End Sub 怕說明不明確 再補充詳述一下問題 Colume1 colume2 口 -> 點這個checkbox要全選,再點一次全部取消 abc 123 口 def 456 口 kkk 666 口 比如我點了 def 456 這列的 checkbox 後 Colume1 colume2 口 abc 123 口 def 456 v kkk 666 口 再點選一次header的checkbox 所有列這時會全選沒錯 但我再點選第二次的話 def 456 這列卻沒取消....但印出來的值是 False 沒錯 可是 UI 上面看到的是 check 勾選狀態 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 112.104.93.163 ※ 文章網址: http://www.ptt.cc/bbs/Visual_Basic/M.1409319339.A.9F9.html

08/29 22:26, , 1F
你的GRID有再BIND一次嗎?
08/29 22:26, 1F

08/29 23:56, , 2F
標題列check box我都放在header templete
08/29 23:56, 2F

08/30 12:39, , 3F
因為我不是寫VS的所以沒看你的CODE
08/30 12:39, 3F

08/30 12:40, , 4F
我的意思是,你改過datatable的資料後
08/30 12:40, 4F

08/30 12:40, , 5F
有把這個table跟grid物件再bind嗎
08/30 12:40, 5F

08/30 12:40, , 6F
不然你改的只有table而不是grid
08/30 12:40, 6F

08/31 22:21, , 7F
不是很了解意思@@ 我的確只有要改datagrdiview顯示的狀態
08/31 22:21, 7F

08/31 22:21, , 8F
結果會有一個Submit的按鈕送出 應該和資料來源面無關
08/31 22:21, 8F

08/31 22:22, , 9F
Submit 送出後才會改資料 再重新Bind..
08/31 22:22, 9F

08/31 23:28, , 10F
我說的沒重新BIND是最常見的問題
08/31 23:28, 10F

08/31 23:29, , 11F
如果你問題不是在這 我就幫不了忙拉..
08/31 23:29, 11F

09/01 10:06, , 12F
了解 謝謝
09/01 10:06, 12F

11/05 10:49, , 13F
asp.net控制項超爛的~~~~
11/05 10:49, 13F
文章代碼(AID): #1K086hdv (Visual_Basic)
文章代碼(AID): #1K086hdv (Visual_Basic)