2016-01-05 3 views
1

Меня спрашивают сортировать столбцы в созданном VB.Net DataGridView. Это не мой код, но я пытаюсь помочь. Вот часть кода:Как сортировать столбцы datagridview программно

Try 
     Dim sqlSelect As String = "SELECT * FROM Manpower WHERE LogOutTime IS NULL AND LogInDate = #" & dateToday & "# ORDER BY CustomerName" 

     Dim myDataAdapter = New OleDbDataAdapter(sqlSelect, myWorkforceConnection) 

     myCommandBuilder = New OleDbCommandBuilder(myDataAdapter) 

     myDataAdapter.Fill(myDataTable) 

    Catch ex As Exception 
     MsgBox(ex.Message) 

     Exit Sub 
    End Try 

    If myDataTable.Rows.Count = 0 Then 
     MessageBox.Show("No records found.") 
     Exit Sub 
    End If 

    dgvManpower.DataSource = myDataTabl 

    dgvManpower.Columns("ID").Visible = False 

    dgvManpower.Columns("EmployeeName").Width = 175 
    dgvManpower.Columns("EmployeeName").SortMode = DataGridViewColumnSortMode.Automatic 
    dgvManpower.Columns("EmployeeName").HeaderText = "Employee Name" 

Когда я запустить приложение, я не в состоянии разобраться в колонке EmployeeName. Документация Microsoft утверждает, что в заголовок столбца будет добавлен Glyph, но это тоже не отображается. Как я могу получить столбец «sort-able»?

+0

Вы бы не сортировали DGV, но обычно привязывались к DataView, а затем просто изменяли это (программно). показанный код не сортирует, просто устанавливает его для сортировки, если пользователь нажимает на этот столбец – Plutonix

ответ

0

Я ничего не вижу в вашем коде, который бы прекратил сортировку.

Проверьте настройки datagridview в IDE и убедитесь, что datagridview имеет Enabled=True и ColumnHeadersVisible=True.

Затем щелкните заголовок столбца и посмотрите, что произойдет.

+0

Я думал, что у меня все свойства IDE на DGV установлены правильно, но я пропустил Enabled = True. Он работает сейчас. –