Я добавляю новый столбец в сетку данных для хранения общей суммы строк qty*Cost.
Когда я пытаюсь добавить столбец, я получаю исключение, говорящее
System.InvalidOperationException: 'Column cannot be added because its CellType property is null.'
Я пытался установить тип ячейки, но я не могу выбрать правильный тип
Dim dt As DataTable = Me.DsOppQuoteDetail.tblOppQuoteDetail
Dim dr As DataRow
Dim dc As New DataGridViewColumn
With dc
.HeaderText = "Item Total"
.Name = "UnitTotal"
.CellType = DataGridTextBox
End With
DGV_OppQuoteDetail.Columns.Insert(6, dc)
Установка CellType в DataGridTextBox приводит к ошибке
Если я изменю столбец на:
Dim dc As New DataGridTextBoxColumn
With dc
.HeaderText = "Item Total"
End With
DGV_OppQuoteDetail.Columns.Insert(6, dc)
то я не могу вставить его, потому что это неправильный тип для команды DataGrid.Insert
Dim totalsColumn As New DataGridViewTextBoxColumn() With { .HeaderText = "Item Total", .ValueType = GetType(Decimal) } DGV_OppQuoteDetail.Columns.Insert(6, totalsColumn).
спасибо все понятно
@johnm Вы используете WPF DataGrid или формы Windows DataGridView?





Dim dc As New DataGridViewTextBoxColumn
dc.HeaderText = "SomeText"
dc.Name = "colWhateverName"
DGV_OppQuoteDetail.Columns.Add(dc)
Попробуйте это и дайте мне знать. Только немного отличается по формулировкам. Также из вашего фрагмента кода все выглядит хорошо, но убедитесь, что вы не добавляете строки перед добавлением столбца.
Да, это сработало, спасибо. Я запутался между dataGridTextBoxColumn и DataGridViewTextBoxColumn
Что такое DsOp QuoteDetail? Это имя класса? Обновлено: Хорошо, я думаю, это имя DataGridView, но не могли бы вы меня убедиться?
dc.CellType = typeof(DataGridViewTextBoxCell)может что-то вроде этого?