C#-如何从combobox datagridview中的表中将值设置为默认值?
若从数据库中的表中获取值,如何设置combobox的默认值。我正在考虑将该值与列[2]/destinationColumn进行比较,以查看表中应选择哪个值作为默认值。这是我到目前为止的错误代码。建议或示例代码将不胜感激。提前谢谢各位C#-如何从combobox datagridview中的表中将值设置为默认值?,c#,datagridview,combobox,C#,Datagridview,Combobox,若从数据库中的表中获取值,如何设置combobox的默认值。我正在考虑将该值与列[2]/destinationColumn进行比较,以查看表中应选择哪个值作为默认值。这是我到目前为止的错误代码。建议或示例代码将不胜感激。提前谢谢各位 string sqlLookupColumn = "SELECT LookUpColumnID, SOURCE_NAME FROM TB_LOOKUP_COLUMN ORDER BY SOURCE_NAME ASC";
string sqlLookupColumn = "SELECT LookUpColumnID, SOURCE_NAME FROM TB_LOOKUP_COLUMN ORDER BY SOURCE_NAME ASC";
DataSet dsColumn = databaseManager.GetData(sqlLookupColumn);
DataGridViewComboBoxColumn dgvCboColumn = new DataGridViewComboBoxColumn();
dgvCboColumn.Name = "DESTINATION_NAME";
dataGridView1.Columns.Add(dgvCboColumn);
foreach (DataGridViewRow row in dataGridView1.Rows)
{
DataGridViewComboBoxCell cboDestinationColumns = (DataGridViewComboBoxCell)(row.Cells[3]);
cboDestinationColumns.DataSource = dsColumn.Tables[0];
string destinationColumn = row.Cells[2].Value.ToString();
cboDestinationColumns.DisplayMember = "SOURCE_NAME";
cboDestinationColumns.ValueMember = "LookUpColumnID";
if (destinationColumn == cboDestinationColumns.DisplayMember)
{
cboDestinationColumns.Selected = true;
}
}
我能看错的东西 1-GridView上的循环不起作用,请在
数据集上执行循环,而不是在GridView上执行循环
2-您正在将destinationColumn与cboDestinationColumns.DisplayMember which=“SOURCE\u NAME”进行比较,如果destinationColumn=“InvoiceNo”
3-使用for循环和将添加到组合项。添加方法,并执行if语句
要添加项目,请执行以下操作:
第一次添加这个类
public class ComboboxItem
{
public string Text { get; set; }
public object Value { get; set; }
public override string ToString()
{
return Text;
}
}
然后在数据集上循环
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
DataRow dr = ds.Tables[0].Rows[i];
ComboboxItem tmp= new ComboboxItem();
tmp.Text = dr["SOURCE_NAME"];
tmp.Value = dr["LookUpColumnID"];
cb.Items.Add(tmp);
if(dr["InvoiceNo"].ToString() =="")//Your condition here to set selected
cb.SelectedIndex = i;
}
for(int i=0;ii)我只是尝试根据变量destinationColumn的值设置combobox列的默认值。如果destinationColumn=“InvoiceNo”,则combobox的默认值应为“InvoiceNo”。我希望这能澄清我的问题。谢谢你的建议。我正试着按照你说的做,但你能告诉我如何从数据集到组合框中增加价值吗?