none
如何將找到的資料堆疊清除掉,只能找到目前的資料呢? RRS feed

  • 問題

  • 請問各位高手,問個常出現的問題!!

    有三個DataGridView,我已經能將這三個的資料各自連進來,

    點到DataGridView1 的某一列時,DataGridView2的第一行會跟著DataGridView所指定到的游標而變,

    這個我也成功了!!

    而在點到DataGridView3時,也因為點到DataGridView2而變動,這也成功了,

    但問題來了,我在回到DataGridVeiw2點另一列,在回到DataGridView3,

    找到的資料會出現,但之前找的那一筆也會跟著出現(會一直堆疊上去)!!

    請問我要怎麼讓之前找到的資料清除到,只會找到我目前找到的那一列的資料呢??

     

    程式碼區塊

    Private Sub TabControl1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged
            Dim tb As TabControl = CType(sender, TabControl)
            Select Case (tb.SelectedIndex)

                Case 1              '儲位別'
                    If t IsNot Nothing Then
                        Dim cmd As New SqlClient.SqlCommand("select SetUpID as 上層編號,SetSysID as 儲存空間編號,SetName as 空間說明 from D_InvIndex WHERE SetLevelNo = 4 and SetUpID='" + t + "'", cn)
                        da.SelectCommand = cmd
                        da.Fill(ds, "InvIndex2")
                        DataDataGridView.DataSource = ds.Tables("InvIndex2")
                    End If

                Case 2              '物料別'
                    If t1 IsNot Nothing Then
                        Dim cmd As New SqlClient.SqlCommand("select D_InvIndex.SetUpID AS 上層編號,D_InvIndex.SetSysID AS 儲存空間編號,D_InvIndex.ComponentID AS 物料編號,A_Component.Component AS 物料名稱,A_Component.Specification AS 規格,D_InvIndex.Num AS 庫存量 FROM D_InvIndex INNER JOIN A_Component ON D_InvIndex.ComponentID = A_Component.ComponentID WHERE D_InvIndex.SetLevelNo = 5 and D_InvIndex.SetUpID='" + t1 + "'", cn)
                        da.SelectCommand = cmd
                        da.Fill(ds, "InvIndex3")
                        CompDataGridView.DataSource = ds.Tables("InvIndex3")
                    End If
            End Select
        End Sub

     

     

    2007年11月12日 上午 03:56

解答

  • 試試看...在 case 進入後...先做 ds.Tables("InvIndex3").Rows.Clear() 將現有的資料刪除...

     

    2007年11月12日 上午 11:46