none
vb.net datagirdview问题 RRS feed

  • 问题

  • 在datagridview1里,要如何删除多个数据?我觉得是用datagridview1.multiselected=true..但具体的代码就不知道了。请帮帮我。。
    2010年8月13日 3:47

答案

全部回复

  • 你好

    我認同版主 Feiyun01112 的說法

    或者你可以參考以下SAMPLE CODE

    If DataGridView1.SelectedRows.Count > 0 Then
                For i As Integer = 0 To DataGridView1.SelectedRows.Count - 1

    '找一個和你資料庫的資料相關的 資料FIELD 例如 Email

    dim Email as string = DataGridView1.SelectedRows(i).Cells("Email").Value

    '之後用功能/function 連接去資料庫去刪除這資料

    DeleteRecord(Email)
                 Next
            End If

    private sub DeleteRecord(byval Email as String)

    ''這裡可以放删除数据 的程式碼 E.G. 連線去資料庫...ETC

    End Sub

    Please correct me if my concept is wrong


    Chi
    • 已标记为答案 ckjason 2010年8月13日 8:53
    • 取消答案标记 ckjason 2010年8月13日 11:45
    2010年8月13日 4:11
    版主
  • 你好

    我認同版主 Feiyun01112 的說法

    或者你可以參考以下SAMPLE CODE

    If DataGridView1.SelectedRows.Count > 0 Then
                For i As Integer = 0 To DataGridView1.SelectedRows.Count - 1

    '找一個和你資料庫的資料相關的 資料FIELD 例如 Email

    dim Email as string = DataGridView1.SelectedRows(i).Cells("Email").Value

    '之後用功能/function 連接去資料庫去刪除這資料

    DeleteRecord(Email)
                 Next
            End If

    private sub DeleteRecord(byval Email as String)

    ''這裡可以放删除数据 的程式碼 E.G. 連線去資料庫...ETC

    End Sub

    Please correct me if my concept is wrong


    Chi
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If DataGridView1.SelectedRows.Count > 0 Then
                For i As Integer = 0 To DataGridView1.SelectedRows.Count - 1
                    Dim Email As String = DataGridView1.SelectedRows(i).Cells("Email").Value
                    DeleteRecord(Email)
                Next
            End If
        End Sub
        Private Sub DeleteRecord(ByVal Email As String)

            Dim objCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db1.mdb;")

            Dim objComm As New OleDbCommand()
            'objComm.CommandText = "DELETE FROM serial WHERE Application_Name='" & Trim(Label13.Text) & "'"   ‘label13.text要换成什么?
            objComm.Connection = objCon
            MsgBox("Delete record successful", MsgBoxStyle.Information, "Delete")
           
            Try
                objCon.Open()
                objComm.ExecuteNonQuery()
            Catch ex As Exception
                MsgBox(ex.Message)
            Finally

                objComm = Nothing
                objCon.Close()
                objCon = Nothing

            End Try
            
        End Sub

    1.我运行上面的代码,但没有反应?
    2.可以为datagridview添加checkbox吗?该怎样做?
    2010年8月13日 11:46
  • 你好

    是可以在datagridview 添加checkbox 的,

    你可以改變以下的CODE

    看看這段CODE 有沒有反應, E.G. 你有沒有先把 整個 DATAGRIDVIEW1 的 行選取? 你可能要把整個行選取才有反應的

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If DataGridView1.SelectedRows.Count > 0 Then
                For i As Integer = 0 To DataGridView1.SelectedRows.Count - 1
                    Dim Email As String = DataGridView1.SelectedRows(i).Cells("Email").Value
                    'DeleteRecord(Email)
    msgbox(Email)
                Next
            End If
        End Sub

    Please correct me if my concept is wrong

    Chi
    2010年8月13日 11:53
    版主
  • 你好

    是可以在datagridview 添加checkbox 的,

    你可以改變以下的CODE

    看看這段CODE 有沒有反應, E.G. 你有沒有先把 整個 DATAGRIDVIEW1 的 行選取? 你可能要把整個行選取才有反應的

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If DataGridView1.SelectedRows.Count > 0 Then
                For i As Integer = 0 To DataGridView1.SelectedRows.Count - 1
                    Dim Email As String = DataGridView1.SelectedRows(i).Cells("Email").Value
                    'DeleteRecord(Email)
    msgbox(Email)
                Next
            End If
        End Sub

    Please correct me if my concept is wrong

    Chi

    1.也是没有反应。。。

     

    2010年8月13日 14:29
  • 你好

    你是像這樣了 把 整個 DATAGRIDVIEW1 的 行選取的嗎?
    http://i35.tinypic.com/6icoyo.jpg

    或者你可以嘗試我的sample Code
    你可以在以下URL DOWNLOAD
    VB Project
    http://www.hongkongcu.net/isaac/MicrosoftExample/AccessAccessDatabaseExample.zip
    Access Database
    http://www.hongkongcu.net/isaac/MicrosoftExample/Sample.mdb

    看看這能不能解決這個問題

    你可能需要改Connection String或者要放這個Sample.mdb 到 C:\ 才可以運行這個Example
    執行這個Example 之後 你可以整個 DATAGRIDVIEW1 的 某幾行選取
    之後按 Button3  之後便會有Popup message 出現內容是 "Application_Name"的內容

    希望可以解決這個問題

    Please correct me if my concept is wrong
    Chi
    2010年8月13日 20:47
    版主
  • 你好

    你是像這樣了 把 整個 DATAGRIDVIEW1 的 行選取的嗎?
    http://i35.tinypic.com/6icoyo.jpg

    或者你可以嘗試我的sample Code
    你可以在以下URL DOWNLOAD
    VB Project
    http://www.hongkongcu.net/isaac/MicrosoftExample/AccessAccessDatabaseExample.zip
    Access Database
    http://www.hongkongcu.net/isaac/MicrosoftExample/Sample.mdb

    看看這能不能解決這個問題

    你可能需要改Connection String或者要放這個Sample.mdb 到 C:\ 才可以運行這個Example
    執行這個Example 之後 你可以整個 DATAGRIDVIEW1 的 某幾行選取
    之後按 Button3  之後便會有Popup message 出現內容是 "Application_Name"的內容

    希望可以解決這個問題

    Please correct me if my concept is wrong
    Chi
    无法打开,因为没有“c:\Microsoft VisualBasic.targets"
    2010年8月14日 4:46
  • 你好

    這可能是因為我是用VS2010 的, 很可惜我沒有VS2005...

    如果你是像 這個IMAGE 一樣 SELECT ROW 的話

    上面的CODE 應該可以解體你的問題的

    http://i35.tinypic.com/6icoyo.jpg

    希望其他高人可以解決


    Chi
    2010年8月14日 9:17
    版主
  • 你好

    2.可以为datagridview添加checkbox吗?该怎样做?

    可以參考以下的Code

    Dim NewColumnIndex As Integer = DataGridView1.Columns.Count '取得有多少Column
    DataGridView1.Columns.Insert(DataGridView1.Columns.Count, New DataGridViewCheckBoxColumn)
    '在DataGridView 的最後一行插入一個DataGridViewCheckBoxColumn
    DataGridView1.Columns(NewColumnIndex).HeaderText = "New Column"
    '最後當然要給與這個Column 一個名字, 放便了解 / 不加也可以

    詳情可以參考以下博客

    http://sharechiwai.wordpress.com/2010/08/15/how-to-add-checkbox-into-datagridview-%E5%A6%82%E4%BD%95%E5%9C%A8datagridview-%E4%B8%AD%E6%B7%BB%E5%8A%A0-checkbox/

    Please correct me if my concept is wrong


    Chi
    • 已标记为答案 ckjason 2010年8月15日 2:06
    2010年8月14日 20:39
    版主