从SQL加载的DataGridViewComboBoxColumn中选择Item
这是我用来填充dataGridView1
SqlDataAdapter
,但是在我填充它之前,我将DataGridViewComboBoxColumn
添加到datagridview所以我将能够选择存储在SQL中的ComboboxColumn中的项目。 但我不确定它是如何实现的。
dtSelectPronajem = new DataTable(); SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM PRONAJEM WHERE NA_CISLKU=@NA_CISLKU", conn); SDA.SelectCommand.Parameters.AddWithValue("@NA_CISLKU", VybraneCisku); SDA.Fill(dtSelectPronajem); dataGridView1.DataSource = dtSelectPronajem;
创建DataGridViewComboBoxColumn:
private void EditDGV() { try { DataTable dtPlodiny = new DataTable(); string sqlQuery = "SELECT PLODINA, CENAZAQ FROM PLODINY"; using (SqlCommand cmd = new SqlCommand(sqlQuery, conn)) { SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dtPlodiny); } cbColumn = new DataGridViewComboBoxColumn(); cbColumn.DataSource = dtPlodiny; //Changed with DataTable //add next two rows cbColumn.DisplayMember = "PLODINA"; cbColumn.ValueMember = "PLODINA"; //property from .Datasource you want use as Value - reference to DataPropertyName cbColumn.DropDownWidth = 100; dataGridView1.Columns.Add(cbColumn); cbColumn.HeaderText = "Položka"; this.cbColumn.Name = "POLOZKAcb"; }
我的问题是 – 对于从SQL加载的每一行,ComboBox中的SelectText怎么可能? 然后应在ComboBox中选择为SelectedText的值位于名为PLODINA
SQL列中。
非常感谢你的时间。
在设置.DataSource
之前,必须将DataGridViewColumn
添加到DataGridView
。
然后为新列设置.DataPropertyName
:
cbColumn.DataPropertyName = "PLODINA"
DataPropertyName
必须是“PRONAJEM”表中字段的名称。
然后将选择.ValueMember = PRONAJEM.PLODINA(from DataTable)
的combobox.ValueMember = PRONAJEM.PLODINA(from DataTable)