Datagridview не показывает данные в первый раз на вкладке - PullRequest
0 голосов
/ 12 октября 2018

У меня есть таблица данных на вкладке 2, и у меня есть кнопка поиска tabpage1 для заполнения таблицы данных.Когда я выполняю поиск и щелкаю на представлении таблицы данных tabpage2 с пустыми строками, я возвращаюсь на вкладку tab1 и снова нажимаю поиск, а затем на представление таблицы данных tabpage2, показывающее данные, почему это происходит?

Dim daPA As New OracleDataAdapter
Dim dtPA As New DataTable()

Dim cmd As New OracleCommand("select * from POLICY_SUBAGENT_DETAIL where POLICY_REFER =:Vno", sgcnn)
cmd.Parameters.Add("@Vno", OracleDbType.NVarchar2).Value = TxtPolicyRefer.Text.ToString.Trim

dtPA.Clear()
daPA = New OracleDataAdapter(cmd)
daPA.Fill(dtPA)
DgvSubAgent.AutoGenerateColumns = False
DgvSubAgent.DataSource = dtPA

If dtPA.Rows.Count > 0 Then
    For i As Integer = 0 To dtPA.Rows.Count - 1
        DgvSubAgent.Rows(i).Cells(0).Value = dtPA.Rows(i).Item("SUBAGENT_NAME").ToString.Trim
        'DgvSubAgent.Rows(i).Cells(1).Value = dtPA.Rows(i).Item("BUSINESS_SHARE").ToString.Trim
        'DgvSubAgent.Rows(i).Cells(2).Value = dtPA.Rows(i).Item("COMM_P").ToString.Trim
        DgvSubAgent.Rows(i).Cells(1).Value = dtPA.Rows(i).Item("COMM_VALUE").ToString

    Next
End If

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Я использую трюк, перед заполнением таблицы данных добавьте строку TabControl1.SelectedIndex = 1

, например:

TabControl1.SelectedIndex = 1  ' where datagridview control placed,     
DgvSubAgent.DataSource = dtPA

, затем перед end sub добавьте строку TabControl1.SelectedIndex = 0 ---где кнопка поиска

0 голосов
/ 12 октября 2018

TabControl реализован таким образом, что элементы управления на каждом TabPage не создаются, пока не будет выбран TabPage.Если вы выберете вкладку, содержащую сетку, прежде чем заполнять эту сетку, то вы должны найти, что она будет работать, как и ожидалось.Вы можете сделать это в коде, просто добавив строку над тем, что у вас уже есть.Если вы не хотите выбирать вкладку, я думаю, что есть способ принудительно создать элементы управления для этого TabPage.Я должен был проверить, чтобы быть уверенным, но я ожидал бы, что вызов CreateControl на TabPage добьется цели.

...