养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

C#winform datagridview删除指定行资料

时间:2024-10-27 22:21:03

在工作中维护资料的时候,我们希望很便捷的就能删除我们指定的资料行。下面,我们一起来看看,datagridview查询出来的资料,直接进行删除要怎么操作。

工具/原料

电脑VS

方法/步骤

1、在实现建立好的winform窗体界面上添加一个datagridview控件,拉取到适当大小,属性可以默认。

C#winform datagridview删除指定行资料

2、添加主窗体刷新函数,这样做的目的就是我们新增、删除后立即显示刷新到窗体上。privatevoidproduct_raiseCallBackRefreshEvent(){Product_Load(null,null);//刷新窗体}

C#winform datagridview删除指定行资料

3、创建查询条件存储过程,这里是从tproduct表进行查询。USE[BF]GO/******Object:StoredProcedure[dbo].[select_product]ScriptDate:03/31/201813:10:23******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOcreateproc[dbo].[select_product]asbeginselectP_no,P_name,P_spc,P_type,P_posfromtproductend

C#winform datagridview删除指定行资料

4、编写winform中datagridview显示数据代码,也就是说,我们的目的是把查询到的值显示到datagridview中.这里还给datagridview行加上“编辑”栏位。privatevoidshow_data(DataGridViewDG){SqlCommandcmd=newSqlCommand("select_product",login.share_cls.conn);cmd.CommandType=CommandType.StoredProcedure;SqlDataAdapterdpt=newSqlDataAdapter(cmd);DataTabledt=newDataTable();dpt.Fill(dt);DataGridViewCheckBoxColumnck=newDataGridViewCheckBoxColumn();DG.Columns.Add(ck);DG.DataSource=dt;DG.Columns[0].HeaderText="选择";DG.Columns[1].HeaderText="料号";DG.Columns[2].HeaderText="品名";DG.Columns[3].HeaderText="规格";DG.Columns[4].HeaderText="料号";DG.Columns[5].HeaderText="密度";DG.Columns[0].Width=50;}

C#winform datagridview删除指定行资料

5、编写winfrom登录时的事件,这里是将产品信息显示到datagridview控件中。privatevoidProduct_Load(objectsender,EventArgse){if(login.share_cls.conn.State==ConnectionState.Closed){login.share_cls.conn.Open();}dataGridView1.Columns.Clear();show_data(dataGridView1);dataGridView1.AllowUserToAddRows=false;//關閉dataGridview中最後一個空白行。login.share_cls.conn.Close();}

C#winform datagridview删除指定行资料

6、编写datagridview控件被打击时的事件,也就是我们前面提到的“选择”功熹栳缂靖能privatevoiddataGridView1_CellContentClick(objectsen颊俄岿髭der,DataGridViewCellEventArgse){try{if(e.ColumnIndex==0&&e.RowIndex>=0){foreach(DataGridViewRowrowindataGridView1.Rows){row.Cells[e.ColumnIndex].Value=false;dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value=true;}if((bool)this.dataGridView1.Rows[e.RowIndex].Cells[0].EditedFormattedValue){products.p_no=dataGridView1.Rows[e.RowIndex].Cells[1].EditedFormattedValue.ToString();products.p_name=dataGridView1.Rows[e.RowIndex].Cells[2].EditedFormattedValue.ToString();}else{products.p_no="";products.p_name="";}}}

C#winform datagridview删除指定行资料

7、给“删除”按钮添加代码,实现单击删除按钮删除我们选中擢爻充种的行。privatevoidtoolStripBu墉掠载牿tton3_Click(objectsender,EventArgse){if(login.share_cls.conn.State==ConnectionState.Closed){login.share_cls.conn.Open();}if(Product.products.p_no==""&&Product.products.p_name==""){MessageBox.Show("请选择数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}DialogResultdr=MessageBox.Show("确定要删除此产品信息吗?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information);if(dr==DialogResult.OK){del_prd(Product.products.p_no,"deletefromtdepartment");product_raiseCallBackRefreshEvent();}login.share_cls.conn.Close();}privatevoiddel_prd(stringp_no,stringsqlstr){SqlCommandcmd=newSqlCommand(""+sqlstr+"wherep_no='"+p_no+"'",login.share_cls.conn);cmd.ExecuteNonQuery();}}}

C#winform datagridview删除指定行资料

8、到此,实现了我们删除datagri蟠校盯昂dview上指定栏位的数据,附上完成代码:usingSystem;us足毂忍珩ingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;namespaceBF销售管理系统{publicpartialclassProduct:Form{publicProduct(){InitializeComponent();}privatevoidtoolStripButton1_Click(objectsender,EventArgse){}privatevoidproduct_raiseCallBackRefreshEvent(){Product_Load(null,null);}publicstaticclassproducts{privatestaticstring_p_no;publicstaticstringp_no{get{return_p_no;}set{_p_no=value;}}privatestaticstring_p_name;publicstaticstringp_name{get{return_p_name;}set{_p_name=value;}}privatestaticstring_p_spc;publicstaticstringp_spc{get{return_p_spc;}set{_p_spc=value;}}privatestaticstring_p_type;publicstaticstringp_type{get{return_p_type;}set{_p_type=value;}}privatestaticstring_p_pos;publicstaticstringp_pos{get{return_p_pos;}set{_p_pos=value;}}}privatevoidshow_data(DataGridViewDG){SqlCommandcmd=newSqlCommand("select_product",login.share_cls.conn);cmd.CommandType=CommandType.StoredProcedure;SqlDataAdapterdpt=newSqlDataAdapter(cmd);DataTabledt=newDataTable();dpt.Fill(dt);DataGridViewCheckBoxColumnck=newDataGridViewCheckBoxColumn();DG.Columns.Add(ck);DG.DataSource=dt;DG.Columns[0].HeaderText="选择";DG.Columns[1].HeaderText="料号";DG.Columns[2].HeaderText="品名";DG.Columns[3].HeaderText="规格";DG.Columns[4].HeaderText="料号";DG.Columns[5].HeaderText="密度";DG.Columns[0].Width=50;}privatevoidProduct_Load(objectsender,EventArgse){if(login.share_cls.conn.State==ConnectionState.Closed){login.share_cls.conn.Open();}dataGridView1.Columns.Clear();show_data(dataGridView1);dataGridView1.AllowUserToAddRows=false;//關閉dataGridview中最後一個空白行。login.share_cls.conn.Close();}privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse){try{if(e.ColumnIndex==0&&e.RowIndex>=0){foreach(DataGridViewRowrowindataGridView1.Rows){row.Cells[e.ColumnIndex].Value=false;dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value=true;}if((bool)this.dataGridView1.Rows[e.RowIndex].Cells[0].EditedFormattedValue){products.p_no=dataGridView1.Rows[e.RowIndex].Cells[1].EditedFormattedValue.ToString();products.p_name=dataGridView1.Rows[e.RowIndex].Cells[2].EditedFormattedValue.ToString();}else{products.p_no="";products.p_name="";}}}catch(Exceptionex){MessageBox.Show(ex.Message);}}privatevoidtoolStripButton3_Click(objectsender,EventArgse){if(login.share_cls.conn.State==ConnectionState.Closed){login.share_cls.conn.Open();}if(Product.products.p_no==""&&Product.products.p_name==""){MessageBox.Show("请选择数据!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}DialogResultdr=MessageBox.Show("确定要删除此产品信息吗?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Information);if(dr==DialogResult.OK){del_prd(Product.products.p_no,"deletefromtdepartment");product_raiseCallBackRefreshEvent();}login.share_cls.conn.Close();}privatevoiddel_prd(stringp_no,stringsqlstr){SqlCommandcmd=newSqlCommand(""+sqlstr+"wherep_no='"+p_no+"'",login.share_cls.conn);cmd.ExecuteNonQuery();}}}

C#winform datagridview删除指定行资料

© 一点知识