首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我的datagridview单元格值更改事件不工作..C#和SQL Server2008

datagridview是一个用于显示和编辑数据的控件,而datagridview单元格值更改事件是在用户修改了单元格的值时触发的事件。

在C#中,可以通过以下步骤来处理datagridview单元格值更改事件:

  1. 首先,确保你已经正确地绑定了数据源到datagridview控件上。你可以使用数据适配器或手动添加数据到datagridview中。
  2. 在窗体的加载事件中,为datagridview控件的CellValueChanged事件添加事件处理程序。例如:
代码语言:csharp
复制
private void Form_Load(object sender, EventArgs e)
{
    dataGridView1.CellValueChanged += new DataGridViewCellEventHandler(dataGridView1_CellValueChanged);
}
  1. 在事件处理程序中,可以通过检查事件参数来确定哪个单元格的值发生了更改。然后,你可以执行相应的操作。例如,你可以更新数据库中的相应数据。
代码语言:csharp
复制
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
    if (e.RowIndex >= 0 && e.ColumnIndex >= 0)
    {
        DataGridViewCell cell = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
        // 获取更改后的值
        string newValue = cell.Value.ToString();
        
        // 执行相应的操作,比如更新数据库中的数据
        // ...
    }
}

至于SQL Server 2008,它是一种关系型数据库管理系统,被广泛用于存储和管理数据。你可以使用SQL Server 2008来创建数据库、表、视图等,并执行各种数据库操作,如插入、更新、删除数据等。

在C#中,可以使用ADO.NET来连接和操作SQL Server数据库。你可以使用SqlConnection类来建立与数据库的连接,使用SqlCommand类来执行SQL语句。

以下是一个简单的示例,演示如何连接到SQL Server 2008数据库并执行查询操作:

代码语言:csharp
复制
using System.Data.SqlClient;

// 建立与数据库的连接
string connectionString = "Data Source=服务器地址;Initial Catalog=数据库名称;User ID=用户名;Password=密码";
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    
    // 执行查询操作
    string sql = "SELECT * FROM 表名";
    using (SqlCommand command = new SqlCommand(sql, connection))
    {
        SqlDataReader reader = command.ExecuteReader();
        
        // 处理查询结果
        while (reader.Read())
        {
            // 读取数据
            string column1Value = reader.GetString(0);
            int column2Value = reader.GetInt32(1);
            
            // 执行相应的操作
            // ...
        }
        
        reader.Close();
    }
}

希望以上内容能帮助到你解决datagridview单元格值更改事件不工作的问题,并了解如何在C#中连接和操作SQL Server 2008数据库。如果你需要更多关于腾讯云相关产品和服务的信息,可以访问腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【转】基于C#WinForm中DataGridView控件操作汇总

    基于C#WinForm中DataGridView控件操作汇总 一、单元格内容操作 *****// 取得当前单元格内容 Console.WriteLine(DataGridView1...*******DataGridView 单元格表示自定义 通过CellFormatting事件,可以自定义单元格表示。...*******DataGridView 用户输入时,单元格输入设定 通过 DataGridView.CellParsing 事件可以设定用户输入。...在该事件中处理除了可以设定默认以外,还可以指定某些特定单元格ReadOnly属性等。...四、针对触发事件一些介绍 认为只要记住常用即可,比如鼠标的操作,一些常见点击触发事件;比如_CellParsing()一般在编辑状态结束时候发生。

    5.2K50

    C#——DataGridView控件填写数据事件

    对于DataGridView控件,与单元格内容相关有以下这几个事件: // 当单元格内容改变并且提交之后发生(提交一般是单元格在编辑完之后失去焦点...e) { } // 在单元格状态相对于其内容更改更改时发生。...举个例子,单击一个单元格,则单元格进入编辑状态,CellBeginEdit事件发生,然后输入1,2……乃至更多东西,上述事件也不会发生。另外Key*系列事件也试过,也没反应。...如果要像TextBox那样,每输入一个字符就发生一次事件怎么办呢?可以用以下方法。原来dataGridView控件单元格只是个容器,他可以容纳其他控件,最一般就是一个文本框。...EditingControlShowing事件比上述事件还要早发生,他是dataGridView控件为了使用户可以编辑,而加载一个TextBox(如果单元格时复选框,是其他控件,那么就加载对应控件)

    1.6K62

    c# WinForm开发 DataGridView控件各种操作总结(单元格操作,属性设置)

    *******DataGridView 单元格表示自己定义 通过CellFormatting事件,能够自己定义单元格表示。...*******DataGridView 用户输入时,单元格输入设定 通过 DataGridView.CellParsing 事件能够设定用户输入。...新加行默认设定 须要指定新加行默认时候,能够在DataGridView.DefaultValuesNeeded事件里处理。...在该事件中处理除了能够设定默认以外,还能够指定某些特定单元格ReadOnly属性等。...四、针对触发事件一些介绍 觉得仅仅要记住经常使用就可以,比方鼠标的操作,一些常见点击触发事件;比方_CellParsing()一般在编辑状态结束时候发生。

    4K10

    期末作业C#实现学生宿舍管理系统

    开发背景 完整代码下载地址:点我下载 优化移步: 《c#中在datagridview表格动态增加一个按钮方法》 《C#实现多窗口切换:Panel详细教程(亲测)》 文章还在更新,上次更新时间2022...视图,添加字段后如下所示 注意:在新优化界面中将该部分窗体重新放到了用户控件中去了,通过panel完成跳转交互,优化用户体验,如果需要更改优化同学,可以看优化部分(2022/06/14修改)...,也就是id,并删除当前行 我们测试下: 接下来,只需要把获取到id => 6 进行sql语句操作即可 完整代码: //删除 int index = dataGridView1.SelectedCells...,先获取id就可以,所以步骤是一样,新建一个修改按钮,如下图所示: 双击后我们在该点击事件加入获取id代码(刚刚一样): //修改 int index = dataGridView1...,需要用user_id去user表里面查询] 所以我们需要用到sql语法使两个表关联起来(user_id对应id) 对这个SQL语句不懂同学看这个: 门再将之前数据表拿出来对照 User

    26530

    使用C#开发数据库应用程序

    b.常见错误 注意:C#允许在初始化同时指定数组长度,但是数组初始数目必须与数组长度完全一样....(最小化),默认为Normal b.窗体重要事件 事件: Load 窗体加载事件,窗体加载时发生 MoseClick 鼠标单击事件,当用户单击窗体时发生 MouseDoubleClick...属性 Connection Command对象使用数据库连接 CommandText 执行SQL语句 方法 ExecuteNonQuery 执行返还行语句,如update等 ExecuteReader...DataGridView列是否移动 ReadOnly 指定单元格是否为只读 AllowUserToAddRows 是否允许用户增加行 false AllowUserToDeletRows 是否允许用户删除行...(2)设置DataGridView属性个列属性 (3)指定DataGridView数据源 c.如何保存修改后数据 (1)增加"保存修改"按钮 (2)编写事件处理方法 d.常见错误

    5.9K30

    C#学习之路(1)--数据库技术

    前言 在7月10日就要去扬州实习了,首先是为期2个月培训。一个月Java,一个月C#。在这一个月里面,准备梳理一下javaC#基础知识,同时也进行更深一步学习。...最近也一直在听八三夭一首,不想改变世界,只想不被世界改变。同时也对自己未来充满着信心憧憬。 ---- ADO.NET概述 ADO.NET是美国微软公司推出.NET平台中一种数据访问技术。...Update()方法:该方法用于将DataSet对象中某一个数据表更改内容更新到对应真实数据库里面的数据表中。...private SqlDataAdapter adapter; private DataSet data ; //这样会让SqlDataAdapter对象自动实现与DataSet更改关联...Form1_Load(object sender, EventArgs e) { //默认选中 if (dataGridView1.RowCount

    1.9K40

    Excel催化剂开源第23波-VSTO开发辅助录入功能关键技术

    一般来说控件都是放到窗体或任务窗格中,但Excel同样支持将控件放到工作单元格上,如前面提到picturebox容器,放到单元格区域上,然后在容器上发图片,实现插入图片功能,同样地也可以存放单选、复选这些控件...在VSTO框架下,有一革命性突破是,可以放我们自定义控件,这个具体VBA自定义Active控件有什么不一样,就不太知道,但起码VSTO放自定义控件,开发成本极低。...自定义控件,可直接用到工作单元格中 具体实现原理 通过用户配置操作,将需要进行快速录入区域记录下来,用SelectionChange事件来响应,若用户选择到这些单元格时,就激发事件方法,显示自定义控件...Tab键功能,默认为窗体退出键TabIndex跳转键,这里有个对一个方法进行重写即可。...,使我们在上层构建业务代码时变得如此轻松,此篇给大家展示了在工作单元格区域上创建自定义控件能力,发挥得当,较直接弹出窗体效果要友好得多。

    1.3K10

    C# winform ——界面美化技巧

    C# winform 界面美化技巧(扁平化设计) 转 关于C#界面美化一些小技巧 在不使用第三方控件如 IrisSkin 前提下,依然可以对winform做出让人眼前一亮美化 ?...首先,我们先来实现主界面的扁平化 此处分为两个步骤,第一步是更改winform自带MainForm窗体属性,第二步是添加窗体事件。...调节背景色,建议找到自己喜欢颜色,然后使用取色器(是按键精灵自带取色板)取得想要RGB参数,输入到BackColor属性之中 在主窗体Mouse_Down中添加如下事件,实现窗体随意拖动:...美化 通过设置ColumnHeadersDefaultCellStyle,来改变列标题背景、字体颜色 通过设置DefaultCellStyle,来改变单元格背景、字体颜色 通过设置RowHeadersDefaultCellStyle...因为进度条ProgressBar由于是虚拟模式下运行,所以调整BackColorForeColor都不会产生效果,它仍然会根据windows主题来更改,为了使其按照我们想要颜色来显示,我们可以将虚拟模式命令去掉

    5.5K41

    C# winform 界面美化技巧(扁平化设计)

    大家好,又见面了,是你们朋友全栈君。...此处分为两个步骤,第一步是更改winform自带MainForm窗体属性,第二步是添加窗体事件。...调节背景色,建议找到自己喜欢颜色,然后使用取色器(是按键精灵自带取色板)取得想要RGB参数,输入到BackColor属性之中 在主窗体Mouse_Down中添加如下事件,实现窗体随意拖动...美化 通过设置ColumnHeadersDefaultCellStyle,来改变列标题背景、字体颜色 通过设置DefaultCellStyle,来改变单元格背景、字体颜色 通过设置RowHeadersDefaultCellStyle...因为进度条ProgressBar由于是虚拟模式下运行,所以调整BackColorForeColor都不会产生效果,它仍然会根据windows主题来更改,为了使其按照我们想要颜色来显示,我们可以将虚拟模式命令去掉

    6.8K30

    DataGridViewCheckBoxColumn勾选框勾上了,Value却是false

    列,当修改checkbox状态时实时获得其状态    不知道大家有没有这样经验,当点击或者取消datagridviewcheckbox列时,比较难获得其状态是选中还是未选中,进而不好进行其它操作,...下面就列出它解决办法: 主要用到了datagridviewCurrentCellDirtyStateChangedCellValueChanged两个事件 CurrentCellDirtyStateChanged...事件是提交对checkbox状态修改 CellValueChanged事件是当状态提交后,也就是单元格改变后做一些其它操作,这里是将checkbox列true或false状态作为tooptiptext...属性设置到同一行button列 CurrentCellDirtyStateChanged事件代码 : private void dataGridView1_CurrentCellDirtyStateChanged...列单元格                 DataGridViewCheckBoxCell dgvCheckBoxCell = this.dataGridView1.Rows[e.RowIndex].Cells

    2.1K10

    INotifyPropertyChanged 接口

    INotifyPropertyChanged 接口 用于向客户端(通常是执行绑定客户端)发出某一属性更改通知。 例如,考虑一个带有名为 FirstName 属性 Person 对象。...若要提供一般性属性更改通知,则 Person 类型实现 INotifyPropertyChanged 接口并在 FirstName 更改时引发 PropertyChanged 事件。...若要在将客户端与数据源进行绑定时发出更改通知,则绑定类型应具有下列任一功能: 实现 INotifyPropertyChanged 接口(首选)。 为绑定类型每个属性提供更改事件。...在运行此示例时,您将注意到绑定 DataGridView 控件无需重置绑定即能反映数据源中更改。...有关详细信息,请参阅Caller Information (C# and Visual Basic)。

    1.4K10

    DataGridView 密码列(显示为*号)设置

    曾经为在DataGridView中设置密码列(显示为*号)而发愁,如何把Windows 窗体 DataGridView 某一列数据显示为“*”。 哈哈,今天终于搞定了。...需要在DataGridView2个事件中写代码真麻烦!...下面的代码把第4列设置为密码列(显示为*号):         ///         /// 单元格显示格式事件         ///        ...CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)         {             // 把第4列显示*号,*号个数实际数据长度相同...e.Value.ToString().Length);                 }             }         }         ///         /// 编辑单元格控件事件

    2.3K30
    领券