添加新数据后如何刷新我的数据网格视图 [英] how to refresh my datagridview after I add new data

查看:57
本文介绍了添加新数据后如何刷新我的数据网格视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在寻找刷新 datagridview 的方法时遇到了很多麻烦.. 我尝试过 datagridview.refresh()、datagridview.Update()...但它不起作用...

I'm having a lot of trouble finding ways to refresh my datagridview.. I've tried datagridview.refresh(), datagridview.Update()....but it doesn't work...

这是我的代码

Imports System.Data
Imports System.Data.OleDb
Imports System.Data.Odbc
Imports System.Data.DataTable
Public Class Form1

Dim provider As String
Dim dataFile As String
Dim connString As String
Dim addstring As String
Dim cnn As OleDbConnection = New OleDbConnection
Dim ds As DataSet = New DataSet
Dim da As OleDbDataAdapter
Dim tables As DataTableCollection = ds.Tables
Dim cmd As New OleDb.OleDbCommand
Dim dr As System.Data.OleDb.OleDbDataReader


Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    t_date.Text = Today
    provider = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
    dataFile = "C:\Users\hp-2\Documents\Visual Studio 2012\Projects\Delta\Delta.mdb"

    connString = provider & dataFile
    cnn.ConnectionString = connString
    da = New OleDbDataAdapter("Select Customer_Name, Job, Amount from [Transaction] where Trans_date = Date()", cnn)
    da.Fill(ds, "Transaction")

    Dim view1 As New DataView(tables(0))
    Dim source1 As New BindingSource()
    source1.DataSource = view1
    showdata.DataSource = view1
    showdata.Refresh()
    cnn.Close()
End Sub

我已经尝试过这个,但它也不起作用.

I've tried this one but it doesn't work too.

Private Sub showdat()
    If Not cnn.State = ConnectionState.Open Then
        cnn.Open()
    End If
    showdata.Refresh()
    cnn.Close()
End Sub

...

Private Sub btmclose_Click(sender As Object, e As EventArgs) Handles btmclose.Click
    Me.Close()
End Sub

Private Sub C_job_SelectedIndexChanged(sender As Object, e As EventArgs) Handles C_job.SelectedIndexChanged
    Dim selected As String = C_job.SelectedItem.ToString()
    If selected = "Internet" Then
        t_amount.Text = "20"
        php.Visible = True
    ElseIf selected = "Games" Then
        t_amount.Text = "10"
        php.Visible = True
    ElseIf selected = "Print (short)" Then
        t_amount.Text = "1"
        php.Visible = True
    ElseIf selected = "Print (long)" Then
        t_amount.Text = "2"
        php.Visible = True
    ElseIf t_amount.Text = "" Then
        php.Visible = False
    End If
End Sub

这是我的 ADD 按钮...点击后...数据已成功添加但 datagridview 不刷新...

here is my ADD button... after i've click it...the data is successfully added but the datagridview doesn't refresh...

Private Sub btnadd_Click(sender As Object, e As EventArgs) Handles btnadd.Click

    provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
    dataFile = "C:\Users\hp-2\Documents\Visual Studio 2012\Projects\Delta\Delta.mdb"

    connString = provider & dataFile
    cnn.ConnectionString = connString
    cnn.Open()

    cmd.Connection = cnn

    cmd.CommandText = "insert into [Transaction] (Customer_Name, Job, Trans_date, Amount ) " & _
        " values ('" & C_name.Text & "','" & C_job.Text & "','" & t_date.Text & "','" & t_amount.Text & "')"
    cmd.ExecuteNonQuery()

    showdat()

    cnn.Close()
End Sub

End Class

推荐答案

希望这会有所帮助创建函数

wish this will help Create Function

        private sub loaddata()
        datagridview.Datasource=nothing
        datagridview.refresh
        dim str as string = "select * from database"
      using cmd As New OleDb.OleDbCommand(str,cnn)
        using da As new OleDbDataAdapter(cmd)
          using newtable as new datatable
            da.fill (newtable)
            datagridview.datasource=newtable
          end using
       end using
     end using
end sub

这篇关于添加新数据后如何刷新我的数据网格视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆