• 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();
                }
            }
  • 相关阅读:
    asp.net ajax传递Json给aspx.cs后台 webmethod方法传递json
    新手 Redis 配置笔记(windows),附下载地址
    在 LINQ to Entities 查询中无法构造实体或复杂类型
    WebApi 4.0 默认方式不支持HttpGet 请求
    jQuery .Ajax Error Handling Function
    My97DatePicker 与 某个CSS冲突 ,导致无法显示
    基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系
    使用Autofac部署IIS6.0时未能加载文件或程序集“System.Core, Version=2.0.5.0...“
    Could not load file or assembly 'System.Core, Version=2.0.5.0 和autofac冲突的问题
    线程间操作无效: 从不是创建控件“textBox2”的线程访问它
  • 原文地址:https://www.cnblogs.com/liuqifeng/p/9149694.html
Copyright © 2020-2023  润新知