zoukankan      html  css  js  c++  java
  • DataGridView中内置控件常用事件使用心得

    checkbox,button,imagebutton使用dataGridView1_CellContentClick

            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                tb.Text+=string.Format("
    {0},Row:{1},Column:{2}","单元格内容单击!",e.RowIndex,e.ColumnIndex);
            }

    combobox使用EditingControlShowing+DropDownClosed,此二事件结合使用可以做到内置combobox一下拉选择了就触发事件

            private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
            {
                tb.Text += string.Format("
    {0},控件名:{1}", "单元格控件编辑!", e.Control.GetType());
                if (e.Control.GetType().Equals(typeof(DataGridViewComboBoxEditingControl)))
                {
                        DataGridViewComboBoxEditingControl editingControl = e.Control as DataGridViewComboBoxEditingControl;
                        try
                        {
                            editingControl.DropDownClosed -= new EventHandler(editingControl_DropDownClosed);
                        }
                        catch
                        {
                        }
                        editingControl.DropDownClosed += new EventHandler(editingControl_DropDownClosed);
                }
                else if (e.Control.GetType().Equals(typeof(DataGridViewTextBoxEditingControl)))
                {
                        DataGridViewTextBoxEditingControl editingControl = e.Control as DataGridViewTextBoxEditingControl;
                        try
                        {
                        }
                        catch
                        {
                        }
                }
    
            }
            private void editingControl_DropDownClosed(object sender, EventArgs e)
            {
                DataGridViewComboBoxEditingControl ctl = sender as DataGridViewComboBoxEditingControl;
                int r = dataGridView1.CurrentCell.RowIndex;
                int c = dataGridView1.CurrentCell.ColumnIndex;
                tb.Text += string.Format("
    {0},控件名:{1}", "单元格下拉框下拉!", ctl.GetType());
                dataGridView1.CellValueChanged -= dataGridView1_CellValueChanged;
            }

    textbox一般只需要验证事件可使用dgvJointList_CellValidating

            private void dgvJointList_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
            {
                int r = dgvJointList.CurrentCell.RowIndex;
                int c = dgvJointList.CurrentCell.ColumnIndex;
                if (dgvJointList.Columns["diameter"].Index == c ||
                    dgvJointList.Columns["thickness"].Index == c ||
                    dgvJointList.Columns["weldLength"].Index == c)
                {
                    string txt = dgvJointList.CurrentCell.EditedFormattedValue.ToString();
                    string errorMsg;
                    if (!ValidNumericFF(txt, out errorMsg))
                    {
                        e.Cancel = true;
                        this.errorProvider1.SetError(dgvJointList, errorMsg);
                    }
                    else
                    {
                        this.errorProvider1.SetError(dgvJointList, "");
                    }
                }
            }


    单元格内容改变!,Row:-1,Column:0
    单元格内容改变!,Row:-1,Column:1
    单元格内容改变!,Row:-1,Column:2
    单元格内容改变!,Row:-1,Column:3
    单元格内容改变!,Row:-1,Column:4
    单元格内容改变!,Row:-1,Column:5
    单元格内容选择改变!,Row:0,Column:0
    单元格控件编辑!,控件名:System.Windows.Forms.DataGridViewTextBoxEditingControl

    点击checkboxcell

    单元格验证!,Row:0,Column:0
    单元格内容选择改变!,Row:0,Column:4
    单元格单击!,Row:0,Column:4
    单元格内容单击!,Row:0,Column:4

    点击comboboxcell

    单元格验证!,Row:0,Column:4
    单元格内容改变!,Row:0,Column:4
    单元格控件编辑!,控件名:System.Windows.Forms.DataGridViewComboBoxEditingControl
    单元格内容选择改变!,Row:0,Column:3
    单元格单击!,Row:0,Column:3

    点击textboxcell

    单元格验证!,Row:0,Column:3
    单元格控件编辑!,控件名:System.Windows.Forms.DataGridViewTextBoxEditingControl
    单元格内容选择改变!,Row:0,Column:0
    单元格单击!,Row:0,Column:0
    单元格离开!,Row:0,Column:0

  • 相关阅读:
    微信小程序 WePY 2 框架入门教程
    微信小程序 WePY 1.7.X 框架入门教程
    /deep/ 深度作用选择器作用及使用
    微信小程序 wx.getUserProfile 接口获取用户信息
    Wepy 微信小程序项目踩坑记
    计算机网络-第一章概述OSI参考模型
    如何安装pycocotools为文件?
    第三章 系统总线
    第二章 计算机的发展和展望
    第一章 计算机基础概论
  • 原文地址:https://www.cnblogs.com/swtool/p/3766583.html
Copyright © 2011-2022 走看看