马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

DataGridViewCheckBoxColumn使用

[复制链接]
回帖奖励 18 金钱      回复本帖可获得 2 金钱奖励! 每人限 1 次
查看4422 | 回复2 | 2016-11-6 12:48:54 | 显示全部楼层 |阅读模式
本帖最后由 小绵羊 于 2016-11-7 16:12 编辑

界面.png

在请教个问题啊,查了好多资料一直没解决,我想选中时右键的快捷菜单可用,否则不可用。代码如下:但选中了还是不会变化,求解!
  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[1].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 | 显示全部楼层

回帖奖励 +2 金钱

  /// <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[e.RowIndex].Selected = true;
                this.skinContextMenuStrip.Show(MousePosition.X, MousePosition.Y); //MousePosition.X, MousePosition.Y 是为了让菜单在所选行的位置显示
            }
        }
这样显示右键  看清楚事件

点评

谢谢哈  详情 回复 发表于 2016-11-10 20:15
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
小绵羊 | 2016-11-10 20:15:17 | 显示全部楼层
ibcadmin 发表于 2016-11-9 23:19
///
        /// 列表单机鼠标发生
        ///

谢谢哈
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则