我有一个带有组合框的datagridview表。
现在我想检查选中行时是否选择了组合框。
if (combobox.Selected.ToString() != null && selectedRowCount !=0)
{
MessageBox.Show("Combobox value is selected");
}
else
{
MessageBox.Show("Please select combox value!");
}
但这似乎不起作用。请指教。
答案 0 :(得分:0)
以下是检查DataGridViewComboBoxColumn列中的值的示例。
在CellClick事件中,我们会检查列值而不是组合的值。
class Program
{
[STAThread()]
static void Main(string[] args)
{
Form f = new Form();
DataGridView dgv = new DataGridView();
DataGridViewComboBoxColumn dgvCombo = new DataGridViewComboBoxColumn();
//Setup events
dgv.CellClick += dgv_CellClick;
//Add items to combo
dgvCombo.Items.Add("Item1");
dgvCombo.Items.Add("Item2");
//Add combo to grid
dgv.Columns.Insert(0,dgvCombo);
//Add grid to form
f.Controls.Add(dgv);
dgv.Dock = DockStyle.Fill;
f.ShowDialog(null);
}
static void dgv_CellClick(object sender, DataGridViewCellEventArgs e)
{
DataGridView grid = (DataGridView) sender;
//Check index 0 because the ComboBox is in that column
if (grid.SelectedCells[0].OwningRow.Cells[0].Value != null)
{
MessageBox.Show("A value is selected");
}
else
{
MessageBox.Show("No Value is selected");
}
}
}