在datagridview中选择了Combobox值问题

时间:2015-06-12 17:25:04

标签: c# winforms datagridviewcombobox

我有一个带有组合框的datagridview表。

现在我想检查选中行时是否选择了组合框。

if (combobox.Selected.ToString() != null && selectedRowCount !=0)
{
    MessageBox.Show("Combobox value is selected");

}   
else
{                    
    MessageBox.Show("Please select combox value!");
}

但这似乎不起作用。请指教。

1 个答案:

答案 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");
        }
    }
}