|
|
删除后台数据源的行,不要直接操作表格控件
|
|
10分 |
而且,目测你所谓的删除并不是真的remove,而是把那一行赋值为空,这是不行的.
已经绑定了数值型的字段,数据是不可以为null的 |
我本来是有一个保存按钮,删除后点保存的 |
|
5分 |
绑定数据后不直接修改Datagridview,修改DataTable就可以了。
|
5分 |
DataGridView绑定数据删除信息示例
//定义datatier类型的私有字段 private datatier dt = new datatier(); //删除指定信息事件按钮 private void btn_delete_Click(object sender, EventArgs e) { dt.Remove(txt_name_delete.Text);//调用datatier对象的Remove()方法,从数据库中删除数据 dataGridView1.DataSource = dt.Select();//更新dataGridView1控件中的信息 Clear();//清空TextBox控件中的文本 }//codego.net/tags/1/1/ //自定义类删除信息 class datatier { private SqlConnection GetConnection() { //返回连接到数据库的SqlConnection对象 return new SqlConnection(“server=WRET-MOSY688YVW\MRGLL;database=db_test;Trusted_Connection=true”); } public void Remove(string Name) { SqlConnection sc = GetConnection();//调用GetConnections()方法,得到连接对象 try { sc.Open();//打开到数据库的连接 SqlCommand cmd = new SqlCommand(//创建SqlCommand对象 “delete from tb_friend where names=@names”, sc); cmd.Parameters.Add(“@names”, SqlDbType.VarChar).Value = Name;//向SqlCommand对象添加参数 cmd.ExecuteNonQuery();//执行SqlCommand对象中的SQL命令 } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { if (sc.State == ConnectionState.Open)//判断是否连接数据库 { sc.Close();//如果已经连接则关闭连接 } } } |
我最后的操作是选择整行删除时不跳过将单元格值设为Null,框选单元格删除时就进行列类型分别处理
|