在 C# WinForms 中的 DataGridView 中处理组合框
本文关键字:处理 组合 DataGridView WinForms 中的 | 更新日期: 2023-09-27 18:31:35
嗨,我
有一个名为"dataGridView1"的窗口形式的数据网格,我在dataGridView1中有组合框; 我正在数据库的组合框中显示数据,并在窗口加载时在该组合框中加载所有数据。 我有函数加载模型。 有一列我想显示的模型名称,在 valuemember 中会有 MedelID, 所以我希望当用户从组合框中选择任何模型时,它会给我该模型的 ID,称为"ModelID"。
public frmBikeOrder()
{
InitializeComponent();
StartPosition = FormStartPosition.CenterScreen;
FormBorderStyle = FormBorderStyle.FixedSingle;
ControlBox = false;
LoadModels();
}
private void LoadModels()
{
RST_DBDataContext conn = new RST_DBDataContext();
List<TblBikeModel> AllModels = (from s in conn.TblBikeModels
select s).ToList();
Column2.DataSource = AllModels;
Column2.DisplayMember = "ModelName";
Column2.ValueMember = "ModelID";
}
当值更改时,我有一个函数,我希望组合框值更改后消息框中的值
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1)
{
ComboBox cmb = ComboBox();
MessageBox.Show(cmb.SelectedValue.ToString());
}
}
使用这个
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1)
{
bool val = (bool)dataGridView1.SelectedCells[0].Value;
MessageBox.Show(val.ToString());
}
}
您可以使用dataGridView1.SelectedCells[0]
获得选定的单元格,并且其值(已检查)与值属性。
您还可以使用DataGridViewCellEventArgs
并执行以下操作:
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 1)
{
bool val = (bool)dataGridView1[e.ColumnIndex, e.RowIndex].Value;
MessageBox.Show(val.ToString());
}
}
将组合框的属性设置为:
ModelComboBox.SelectedValuePath = "ModelID";
ModelComboBox.DisplayMemberPath = "ModelName";
然后ModelComboBox.SelectedValue将是ModelID。