2014-01-07 13 views
0

я использую VB в Visual Studio 2010обновление данных в DataGridView по новой форме

У меня есть три формы (MainForm, SaveForm и updateform), где SaveForm и updateform имеют одинаковый дизайн формы, в MainForm есть 1 DataGridView, два (btnSave для отображения saveForm и btnUpdate для отображения формы обновления).
Возможно обновление данных в выбранной строке в datagridview с условием, чтобы все данные этой строки отображались в форме обновления?

У меня есть эта кодировка

это в форме обновления

Dim idsend As String 
Conn = New OleDb.OleDbConnection(Konek()) 
     Conn.Open() 
     Comm = New OleDb.OleDbCommand 
     Comm.Connection = Conn 
     Comm.CommandText = "SELECT * FROM TabelSiswa WHERE No =" & idsend 
     Reader = Comm.ExecuteReader() 
     Reader.Read() 
     txtName.Text = reader.getvalue(1) 


Это на MainForm

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
FormUpdate.idSend = dgv.CurrentRow.Cells(0).Value 
+0

В чем проблема с вашим текущим кодом? pertanyaannya kurang jelas bro :) – har07

+0

извините, проблема в том, что я не могу обновить выбранные данные/строку в datagridview –

ответ

0

@Vland решение будет работать,
, но я думаю, лучшей практикой будет, если вы сохраните переменную idsend как приватную, поскольку она используется вне класса только один раз (передается экземпляру класса)

Private _idsend As Int32 

Затем передать его значение для формирования через конструктор

Public Sub New(inIdSend As Int32) 
    _idsend = inIdSend 
End Sub 

И теперь вы можете использовать свой идентификатор внутри из FormUpdate

Private Sub Button1_Click(ByVal sender As System.Object, 
          ByVal e As System.EventArgs) Handles Button1.Click 
    Dim id as Int32 = dgv.CurrentRow.Cells(0).Value 
    Dim update As New FormUpdate(id) 
    update.ShowDialog() 
End Sub 

Или, если вы не хотите создать соединение с базой данных более одного time - создать конструктор с необходимыми данными из datagridview в качестве параметров ...

+0

Спасибо, это сработало .. Я изменил его на mainform_load –

0

idsend в вашем updateform должен быть Public

Попробуйте с

Public Class updateform 
    Public Property idsend As String 

    ... 
End Class 

, а затем передать значение идентификатора перед открытием вашей формы

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Dim f2 As New FormUpdate 
    f2.idsend = dgv.CurrentRow.Cells(0).Value 

    f2.ShowDialog() 
End Sub 
+0

Это также сработало –

Смежные вопросы