Im снова с другим DataGidView вопросComboBox Колонка в DataBound DataGridView
я создаю приложение, которое позволяет пользователю создавать билет на продукты, приобретенные
Эта форма состоит из DataGidViewwhich позволяет пользователю записывать детали продукта вместе с информацией о ценах и количестве.
В настоящее время DataGidView связан данные и данные сохраняются с помощью адаптера данных и команд строитель во время выполнения
Столбцы создаются автоматически, а затем я установить свойства, такие как параметры форматирования следующим образом
Private Sub SetTicketList()
Try
Con.ConnectionString = CropTrackMod.strConn
SQLAdaptor.SelectCommand = New SqlClient.SqlCommand("SELECT ID, StockRef, Weight, EstimatedPrice, DespatchedQuantity,EstimatedTransportPer,VATRate, EstimatedTransportTotal,EstimatedVAT, EstimatedLineTotal,TicketRef FROM TicketDetail where ticketref ='x'", Con)
builder = New SqlClient.SqlCommandBuilder(SQLAdaptor)
Con.Open()
Dim myTable As DataTable = New DataTable
SQLAdaptor.Fill(myTable)
dgvTicketDetail.DataSource = myTable
'ID Column
dgvTicketDetail.Columns(0).Visible = False
'StockRef
dgvTicketDetail.Columns(1).HeaderText = "StockRef"
dgvTicketDetail.Columns(1).CellType.
'Weight
dgvTicketDetail.Columns(2).HeaderText = "Weight"
dgvTicketDetail.Columns(2).DefaultCellStyle.Format = "0"
dgvTicketDetail.Columns(2).DefaultCellStyle.NullValue = "0"
'Price Per Unit
dgvTicketDetail.Columns(3).HeaderText = "Price"
dgvTicketDetail.Columns(3).DefaultCellStyle.Format = "0.00"
dgvTicketDetail.Columns(3).DefaultCellStyle.NullValue = "0.00"
'Quantity
dgvTicketDetail.Columns(4).HeaderText = "Quantity"
dgvTicketDetail.Columns(4).DefaultCellStyle.Format = "0"
dgvTicketDetail.Columns(4).DefaultCellStyle.NullValue = "0"
'Transport Cost Per Unit
dgvTicketDetail.Columns(5).HeaderText = "TransportCostPer"
dgvTicketDetail.Columns(5).DefaultCellStyle.Format = "0.00"
dgvTicketDetail.Columns(5).DefaultCellStyle.NullValue = "0.00"
'VAT Rate
dgvTicketDetail.Columns(6).HeaderText = "VAT Rate"
dgvTicketDetail.Columns(6).DefaultCellStyle.Format = "0.00"
dgvTicketDetail.Columns(6).DefaultCellStyle.NullValue = "0.00"
dgvTicketDetail.Columns(6).ReadOnly = True
'Transport Total
dgvTicketDetail.Columns(7).HeaderText = "Transport Total"
dgvTicketDetail.Columns(7).DefaultCellStyle.Format = "0.00"
dgvTicketDetail.Columns(7).DefaultCellStyle.NullValue = "0.00"
dgvTicketDetail.Columns(7).ReadOnly = True
'VAT Total
dgvTicketDetail.Columns(8).HeaderText = "VAT Total"
dgvTicketDetail.Columns(8).DefaultCellStyle.Format = "0.00"
dgvTicketDetail.Columns(8).DefaultCellStyle.NullValue = "0.00"
dgvTicketDetail.Columns(8).ReadOnly = True
'line Total
dgvTicketDetail.Columns(9).HeaderText = "Total"
dgvTicketDetail.Columns(9).DefaultCellStyle.Format = "0.00"
dgvTicketDetail.Columns(9).DefaultCellStyle.NullValue = "0.00"
dgvTicketDetail.Columns(9).ReadOnly = True
'line Total
dgvTicketDetail.Columns(10).HeaderText = "TicketRef"
dgvTicketDetail.Columns(10).Visible = False
Finally
If Con.State = ConnectionState.Open Then
Con.Close()
End If
End Try
End Sub
Один из столбцов для ссылки на фондовый, в тот момент, когда я могу освободить тип этого поля, но в конечном итоге я хотел бы, чтобы это был столбец combobox, где пользователь может выбрать из списка ссылок на акции из другой таблицы.
Я исследовал эту проблему и нашел ряд примеров, связанных с созданием столбца во время выполнения, но я не чувствую, что это будет работать в этой ситуации, как если бы я создал столбец вручную, тогда это не было бы связано с datasource, на который я хочу сохранить информацию.
Dim dgvc As DataGridViewComboBoxCell
dgvc = DataGridView1.Rows(0).Cells(2)
if DataGridView1.Rows(0).Cells(1).Value = "Jack" then
dgvc.Items.Add("Fe")
dgvc.Items.Add("Fi")
elseif DataGridView1.Rows(0).Cells(3).Value = "Giant" then
dgvc.Items.Add("Fo")
dgvc.Items.Add("Fum")
End if
Изначально я планировал вручную добавлять элементы в выпадающий список, но я видел примеры возможности привязки элементов РУЧНОГО COLUMN СОЗДАНИЕ. Я полагаю, что это еще одна проблема в другой раз
Любая помощь всегда приветствуется.
Заранее спасибо ребята