У моего DGV есть предварительно отформатированные столбцы через конструктор. С SQL я мог бы загрузить результат SqlDataReader
в DataTable
и просто пропустить столбцы, чтобы установить там свойство DataPropertyName
.Linq to DataGridView, AutoGenerateColumns = False отображает пустые строки
Я сейчас перехожу на LINQ; установка AutoGenerateColumns
к False
с:
Dim result = From a In db.states
Select a
DataGridView1.DataSource = result
... кажется, только отобразить пустую сетку (сохраняя при этом столбцы). Помогите? Я хочу, чтобы форматирование столбцов сетки выполнялось в дизайнере как можно больше. Благодарю.
UPDATE
Установка DataPropertyName
один на один, кажется, работает:
col1.DataPropertyName = "id"
col2.DataPropertyName = "name"
Есть ли способ, чтобы преобразовать это рутина, возможно, с петлей, поэтому у меня нет установить все вручную? Вроде как это (с DataTable
):
For i = 0 To dt.Columns.Count - 1 : List.Columns(i).DataPropertyName = dt.Columns(i).ColumnName : Next
'.ToList () 'должен работать. Являются ли столбцы 'DataPropertyName' именами имен объектов в вашей коллекции состояний? – Fabio
Привет, Фабио, спасибо, см. Мои правки! :) – AwonDanag
Если вы создали столбец в дизайнере, то вы можете также установить их в дизайнере. Если вы хотите динамический, тогда установите 'AutoGenerateColumns = true' – Fabio