James Bond
Дата: 04.05.2005 11:47:29
Умные люди! Подскажите дураку... Проблема такая:
Есть на форе кнопка, по нажатию которй открывается другая форма, идет запрос к БД. Записи возвращаются в DataSet в таблицу Apply. (при запросе берется из формы ID и подставляется в запрос) После этого заполняются контролы на форме. Таки вот. В первый раз все отрабатывает нормально. Но, когда закрываем эту форму с результатами, переходим на другую запись, нажимаем эту же кнопку, то никаких рез-ов нет. ДатаСет заполняется, проверял... а почему так? ВОт код:
Dim Query As String
Appl = New Apply
Query = "select * from Applied_vw where comp_id = " & Label1.Text
Dim f1 As Form1 = Me.ParentForm
If f1.Data_comp1.Tables.Contains("Apply") Then
f1.Data_comp1.Tables("Apply").Clear()
End If
Dim t As DataTable
For Each t In f1.Data_comp1.Tables
MsgBox(t.TableName & "Rows.Count = " & t.Rows.Count.ToString())
Next
Dim Adp As New SqlDataAdapter(Query, Conn)
Adp.Fill(f1.Data_comp1, "Apply")
Dim pRow As DataRow
Appl.MdiParent = Me.ParentForm
Appl.WindowState = FormWindowState.Maximized
Appl.Show()
Appl.Location = New Point(0, 0)
Appl.Label1.DataBindings.Add(New Binding("Text", f1.Data_comp1, "apply.comp_name"))
Appl.DateTimePicker1.DataBindings.Add(New Binding("Value", f1.Data_comp1, "apply.date_applied"))
Appl.cmbContact.DataBindings.Add(New Binding("Text", f1.Data_comp1, "apply.person_name"))
Appl.cmbCV.DataBindings.Add(New Binding("Text", f1.Data_comp1, "apply.cv_type"))
Appl.txtNotes.DataBindings.Add(New Binding("Text", f1.Data_comp1, "apply.notes"))
Appl.CheckBox1.DataBindings.Add(New Binding("checked", f1.Data_comp1, "apply.answer"))
Appl.txtAnswer.DataBindings.Add(New Binding("Text", f1.Data_comp1, "apply.result"))
кузя
Дата: 04.05.2005 12:44:00
есть подозрение, что BindingManagerBase.Current после DataTable.Clear улетает в непотребное состояние и не возвращается оттуда даже после DataAdapter.Fill.
если есть возможность - проверь это. т.е. убери создание нового контекста, а перед добвлением binding'ов к контролам поставь:
Appl.BindingContext[f1.Data_comp1, "Apply"].Position = 0