小绵羊 发表于 2016-11-6 12:48:54

DataGridViewCheckBoxColumn使用

本帖最后由 小绵羊 于 2016-11-7 16:12 编辑



在请教个问题啊,查了好多资料一直没解决,我想选中时右键的快捷菜单可用,否则不可用。代码如下:但选中了还是不会变化,求解!
private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
      {

            if (dataGridView1.IsCurrentCellDirty)
            {
                  dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
            }         
      }

      private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
      {

         if (dataGridView1.Rows.Count > 0)
             {
               for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {

                      string _selectValue = dataGridView1.Rows.Cells.EditedFormattedValue.ToString();
                        if (_selectValue= "True")
                        {
                            //MessageBox.Show("选中");
                            详细信息ToolStripMenuItem.Enabled = true;
                        }
                        else
                        {
                            //MessageBox.Show("未选中");
                            详细信息ToolStripMenuItem.Enabled = false;
                        }

                }
             }
      }

      private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
      {
            dataGridView1.CurrentCellDirtyStateChanged += new EventHandler(dataGridView1_CurrentCellDirtyStateChanged);
            dataGridView1.CellValueChanged += new DataGridViewCellEventHandler(dataGridView1_CellValueChanged);
      }

ibcadmin 发表于 2016-11-9 23:19:37

/// <summary>
      /// 列表单机鼠标发生
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      private void dgvData_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
      {
            if (e.Button == System.Windows.Forms.MouseButtons.Right && e.ColumnIndex > -1 && e.RowIndex > -1)//点击的是鼠标右键,并且不是表头
            {
                //右键选中单元格
                this.dgvData.Rows.Selected = true;
                this.skinContextMenuStrip.Show(MousePosition.X, MousePosition.Y); //MousePosition.X, MousePosition.Y 是为了让菜单在所选行的位置显示
            }
      }
这样显示右键看清楚事件

小绵羊 发表于 2016-11-10 20:15:17

ibcadmin 发表于 2016-11-9 23:19
///
      /// 列表单机鼠标发生
      ///


谢谢哈
页: [1]
查看完整版本: DataGridViewCheckBoxColumn使用