Vb.Net обновляет Datagridview в основной форме при сохранении данных в другой форме - PullRequest
0 голосов
/ 04 января 2019

Это моя функция для отображения данных с сервера sql в Datagridview

 Private Function getpdfinfo1() As DataTable
    DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect

    Dim dtpi As New DataTable
    Dim connString As String = ConfigurationManager.ConnectionStrings("pdflib.My.MySettings.hazimdbConnectionString").ConnectionString

    Using conn As New SqlConnection(connString)
        Using cmd As New SqlCommand("select idpdf as  ID,pdfname as  Title, categories as Categories , extension as Extension from pdfinfo where ( username='" & Label10.Text & "' ) ", conn)
            conn.Open()
            Dim reader As SqlDataReader = cmd.ExecuteReader()
            dtpi.Load(reader)
            conn.Close()
        End Using
    End Using
    Return dtpi

End Function

И в главной форме загрузки даже я вызываю функцию getpdfinfo1(), как показано ниже

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DataGridView1.DataSource = getpdfinfo1()
End Sub

Iсохранить данные из другой формы.Событие нажатия кнопки для сохранения данных выглядит так, как показано ниже

 cmd = New SqlCommand("Insert into pdfinfo (pdfname,pdfdata,categories,username,iduser,extension) values (@pdfname,@pdfdata,@categories,@username,@iduser,@extension) ", connection)
        connection.Open()
        cmd.Parameters.Add(New SqlParameter("@pdfname", SqlDbType.NVarChar, 100)).Value = TextBox2.Text
        cmd.Parameters.Add(New SqlParameter("@categories", SqlDbType.NVarChar, 100)).Value = ComboBox1.Text
        cmd.Parameters.Add(New SqlParameter("@username", SqlDbType.NVarChar, 100)).Value = TextBox4.Text
        cmd.Parameters.Add(New SqlParameter("@iduser", SqlDbType.Int)).Value = Label6.Text
        cmd.Parameters.Add(New SqlParameter("@extension", SqlDbType.NChar, 10)).Value = Path.GetExtension(ofd.FileName)
        Dim fs As New FileStream(ofd.FileName, FileMode.Open, FileAccess.Read)
        Dim br As New BinaryReader(fs)
        Dim file() As Byte = br.ReadBytes(br.BaseStream.Length)
        cmd.Parameters.Add(New SqlParameter("@pdfdata", SqlDbType.VarBinary)).Value = file
        cmd.ExecuteNonQuery()
        Label8.Text = "Upload Completed"

Поэтому я хочу, чтобы при нажатии кнопки «Сохранить» в (форма для сохранения данных) тогда Datagridview ** в основной форме (форма 2) былобновляется автоматически.

Или, Как создать функцию обновления Datagridview при изменении данных Sql.

1 Ответ

0 голосов
/ 27 февраля 2019

Функция getpdfinfo1 является частной, сделайте ее общедоступной и вызовите эту функцию в событии нажатия кнопки сохранения.Для вызова функций из другой формы вы можете просто поставить префикс формы name.function.

...