zoukankan      html  css  js  c++  java
  • DataGridView修改数据并传到数据库

    1、 两个属性设置: 
    第一个:设置自动创建列,默认为True 
    DataGridView1. AutoGenerateColumns = True; 
    虽然默认为True,但写下去总是好的!!! 
    第二个:鼠标单击编辑,默认双击 
    DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;

    2、 防止单元格被编辑: 
    DataGridViewCell:限制单元格 
    DataGridViewColumn:限制列 
    DataGridViewRow:限制行 
    DataGridViewReadOnly:限制整个DataGridView控件 
    关键代码如下:

        dataGridView1.ReadOnly = true;//整个表格只读
                    dataGridView1.Columns[1].ReadOnly = true;//列只读
                    dataGridView1.Rows[0].ReadOnly = true;//行只读
                    dataGridView1[3,3].ReadOnly = true;//单元格只读

    获取数据

    string strcolumn = dataGridView1.Columns[e.ColumnIndex].HeaderText;//获取列标题
    string strrow = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();//获取焦点触发行的第一个值
    string value = dataGridView1.CurrentCell.Value.ToString();//获取当前点击的活动单元格的值

    还有一种限制编辑的方式,EditMode枚举下的EditProgrammatically的属性:

    dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
    //仅在调用 System.Windows.Forms.DataGridView.BeginEdit(System.Boolean) 方法时开始编辑

    此属性需要调用一个CellBeginEdit事件,编辑条件写在方法中。

    private void dataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
            {
               // dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
               //在点击单元格时,触发此事件,进行有条件的编辑
            }

    3、可通过CellValueChanged事件来实现更新数据库的数据数据链接

     private SqlConnection connection()
            {
                string strconn = "server = XQ-20160210KQLE\SA;uid = sa;pwd = 123456;database = JYXinXi";
                SqlConnection conn = new SqlConnection(strconn);
                return conn;
            }

    DataGridView显示数据

    private void GetDataGridView()
            {
                try
                {
                    string strda = "select * from FilTer";
                    SqlConnection conn = connection();
                    conn.Open();
                    DataSet ds = new DataSet();
                    SqlDataAdapter da = new SqlDataAdapter(strda, conn);
                    da.Fill(ds, "显示数据");
                    conn.Close();
                    dataGridView1.AutoGenerateColumns = true;//自动创建列
                    dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;//单击单元格编辑
                    dataGridView1.DataSource = ds.Tables[0];
                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message.ToString());
                }
            }

    更新数据库

    private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
            {
                SqlConnection conn = connection();    
                try
                {
                    string strcolumn = dataGridView1.Columns[e.ColumnIndex].HeaderText;//获取列标题
                    string strrow = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();//获取焦点触发行的第一个值
                    string value = dataGridView1.CurrentCell.Value.ToString();//获取当前点击的活动单元格的值
                    string strcomm = "update FilTer set " + strcolumn + "='" + value + "'where id = " + strrow;
                    //update FilTer set 列名 = value where id = 3
                    conn.Open();
                    SqlCommand comm = new SqlCommand(strcomm, conn);
                    comm.ExecuteNonQuery();
                }
                catch (Exception ee)
                {
                    MessageBox.Show(ee.Message.ToString());
                }
                finally
                {
                    conn.Close();
                }
            }
  • 相关阅读:
    命令行环境下简单实用的工具——重定向&管道
    阿里2014校招笔试题(南大)——利用thread和sleep生成字符串的伪随机序列
    Pooled Allocation(池式分配)实例——Keil 内存管理
    modelsim数据导出用于matlab绘图
    顺序块和并行块
    初入博园
    数字图像处理实验(7):PROJECT 04-03 , Lowpass Filtering 标签: 图像处理MATLAB 2017-05-25 09:30 109人
    杭电acm刷题(3):1062,Text Reverse 标签: 杭电acm 2017-05-15 08:26 126人阅读 评论(0)
    杭电ACM刷题(2):1005,Number Sequence 标签: 杭电acmC语言 2017-05-11 22:43 116人阅读
    数字图像处理实验(6):PROJECT 04-02,Fourier Spectrum and Average Value 标签: 图像处理MATLABfft 2017-05-07 23:1
  • 原文地址:https://www.cnblogs.com/liuqifeng/p/9149694.html
Copyright © 2011-2022 走看看