【问题标题】:Selected Combobox value issue in datagridviewdatagridview 中选定的组合框值问题
【发布时间】:2015-06-12 17:25:04
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 展示你如何用值填充combobox。请注意,组合框没有 .Selected 这样的属性。
  • 有关于DataGridViewComboBoxColumn的问题吗?
  • 是的,我有 DataGridViewComboBoxColumn 组合框
  • 存在语法错误。在你的 if 语句中,字符串没有被引用。应该是MessageBox.Show("Combobox value is selected"); 你问的是这个问题吗?
  • 那是我的打字错误。但主要是我没有为 DatagridViewCombobox 工作的条件

标签: c# winforms datagridviewcombobox


【解决方案1】:

这里是一个检查 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");
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 2013-12-08
    • 2014-05-29
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    相关资源
    最近更新 更多