| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 705 人关注过本帖
标题:c#中DataGrid的数据新增编辑删除操作代码[转][共享]
只看楼主 加入收藏
冰封谷主
Rank: 4
等 级:贵宾
威 望:10
帖 子:226
专家分:20
注 册:2005-1-7
收藏
 问题点数:0 回复次数:7 
c#中DataGrid的数据新增编辑删除操作代码[转][共享]

private void DeleteDevData() ??{ ???int deleteNum=0; ???//删除选中的某一行或多行记录,调用DataGrid的IsSelected(i)函数,如果函数返回结果为true,则表示该行被选中 ???ArrayList arrList = new ArrayList(); ???for(int i=0;i

???if (deleteNum !=0) ???{ ????if (MessageBox.Show ("你确定要删除这些数据吗?", "删除数据", ?????MessageBoxButtons.YesNo, MessageBoxIcon.Question)== DialogResult.Yes) ????{ ?????F_WR_Public.F_WR_Public f_WR_Public = new F_WR_Public.F_WR_Public();????? ?????F_WR_Public.VO_DevSpec[] arrVO_DevSpec_Delete = new F_WR_Public.VO_DevSpec[deleteNum];

?????IEnumerator ienum = arrList.GetEnumerator(); ?????int deleteIndex=0; ?????while(ienum.MoveNext()) ?????{ ??????arrVO_DevSpec_Delete[deleteIndex] = (F_WR_Public.VO_DevSpec)ienum.Current; ??????arrVO_DevSpec_Delete[deleteIndex].col=Int64.MaxValue; ??????arrVO_DevSpec_Delete[deleteIndex].devTypeID=Int64.MaxValue; ??????arrVO_DevSpec_Delete[deleteIndex].num=Int64.MaxValue; ??????arrVO_DevSpec_Delete[deleteIndex].row=Int64.MaxValue; ??????deleteIndex++; ?????}

?????f_WR_Public.removeDevSpec(arrVO_DevSpec_Delete); ?????MessageBox.Show ("删除成功!", "删除数据",MessageBoxButtons.OK, MessageBoxIcon.Information); ????} ????else ????{ ?????return; ????} ???} ???else ???{ ????MessageBox.Show ("未选中所要删除的数据!", "删除数据", MessageBoxButtons.OK, MessageBoxIcon.Warning); ???}

??}

?

private void QueryDevSpec() ??{ ???try ???{ ????DevSpec.Clear(); ????F_WR_Public.F_WR_Public f_WR_Public = new F_WR_Public.F_WR_Public();

????F_WR_Public.VO_DevSpec vo_DevSpec = new F_WR_Public.VO_DevSpec(); ????vo_DevSpec.col=Int64.MaxValue; ????vo_DevSpec.devSpecID=Int64.MaxValue; ????vo_DevSpec.devTypeID=Int64.Parse(cbo_DevType.SelectedValue.ToString()); ????vo_DevSpec.num=Int64.MaxValue; ????vo_DevSpec.row=Int64.MaxValue;

????F_WR_Public.VO_DevSpec[] arrVO_DevSpec=f_WR_Public.queryDevSpec(vo_DevSpec);

????if(arrVO_DevSpec!=null) ????{ ?????for(int i=0;ivo_DevSpec_Result.@long; ??????myRow["宽"] = vo_DevSpec_Result.width; ??????myRow["高"] = vo_DevSpec_Result.high; ??????if ( vo_DevSpec_Result.num != Int64.MaxValue) ??????{ ???????myRow["数量"] = vo_DevSpec_Result.num; ??????} ??????else ???????myRow["数量"] =""; ??????if ( vo_DevSpec_Result.row != Int64.MaxValue) ??????{ ???????myRow["行"] = vo_DevSpec_Result.row; ??????} ??????else ???????myRow["行"] = ""; ??????if ( vo_DevSpec_Result.col != Int64.MaxValue) ??????{ ???????myRow["列"] = vo_DevSpec_Result.col; ??????} ??????else ???????myRow["列"] = "";; ?????? ??????myRow["排列方式"] = vo_DevSpec_Result.disposeType; ??????myRow["设备型号"] = vo_DevSpec_Result.devSpecID;

??????DevSpec.Rows.Add(myRow); ?????} ?????DevSpec.AcceptChanges(); ?????//设置dtg_BasicDataInfo的DataMember为DevSpec ?????dtg_BasicDataInfo.DataMember = DevSpec.ToString(); ?????dtg_BasicDataInfo.DataSource=dataSet1; ?????DevTableStyle.MappingName="DevSpec"; ?????rowCounts=arrVO_DevSpec.Length; ????} ????else ????{ ?????rowCounts=0; ????} ????dtg_BasicDataInfo.ReadOnly = true; ???} ???catch(Exception ee) ???{ ???? ????MessageBox.Show (ee.ToString(), "Error", ?????MessageBoxButtons.OK, MessageBoxIcon.Information); ???} ??}

?

?private void SaveDevData() ??? { ???try ???{ ????F_WR_Public.F_WR_Public f_WR_Public = new F_WR_Public.F_WR_Public();

????//如果某行的状态为Added,则表示该行的数据是新增加的 ????DataRow[] dataRowAdd = DevSpec.Select(null,null,DataViewRowState.Added); ????int mCount= dataRowAdd.Length; ????if (mCount != 0) ????{ ?????F_WR_Public.VO_DevSpec[] arrVO_DevSpec_Add = new F_WR_Public.VO_DevSpec[mCount]; ?????for(int i=0;i

??????vo_DevSpec.col=Int64.MaxValue; ??????vo_DevSpec.num=Int64.MaxValue; ??????vo_DevSpec.row=Int64.MaxValue;

??????vo_DevSpec.devTypeID =Int64.Parse(cbo_DevType.SelectedValue.ToString()); ??????vo_DevSpec.specType=dataRowAdd[i][1].ToString(); ??????vo_DevSpec.manufacturer=dataRowAdd[i][2].ToString(); ??????vo_DevSpec.@long=dataRowAdd[i][3].ToString(); ??????vo_DevSpec.width=dataRowAdd[i][4].ToString(); ??????vo_DevSpec.high=dataRowAdd[i][5].ToString(); ??????if(!dataRowAdd[i][6].ToString().Equals("")) ??????{ ???????vo_DevSpec.num= Int64.Parse(dataRowAdd[i][6].ToString()); ??????} ??????if(!dataRowAdd[i][7].ToString().Equals("")) ??????{ ???????vo_DevSpec.row= Int64.Parse(dataRowAdd[i][7].ToString()); ??????} ??????if(!dataRowAdd[i][8].ToString().Equals("")) ??????{ ???????vo_DevSpec.col= Int64.Parse(dataRowAdd[i][8].ToString()); ??????} ??????vo_DevSpec.disposeType=dataRowAdd[i][9].ToString(); ??????vo_DevSpec.devSpecID=Int64.MaxValue; ???????? ???????? ??????arrVO_DevSpec_Add[i] = vo_DevSpec; ?????} ?????f_WR_Public.addDevSpec(arrVO_DevSpec_Add); ?????MessageBox.Show ("增加成功!", "增加数据",MessageBoxButtons.OK, MessageBoxIcon.Information); ????}

????//如果某行的状态为ModifiedCurrent,则表示该行的数据被修改过 ????DataRow[] dataRowModify = DevSpec.Select(null,null,DataViewRowState.ModifiedCurrent); ????int intDataRowModify = dataRowModify.Length; ????if (intDataRowModify != 0) ????{ ?????F_WR_Public.VO_DevSpec[] arrVO_DevSpec_Modify = new F_WR_Public.VO_DevSpec[intDataRowModify]; ?????for(int i=0;i

??????vo_DevSpec.specType=dataRowModify[i][1].ToString(); ??????vo_DevSpec.manufacturer=dataRowModify[i][2].ToString(); ??????vo_DevSpec.@long=dataRowModify[i][3].ToString(); ??????vo_DevSpec.width=dataRowModify[i][4].ToString(); ??????vo_DevSpec.high=dataRowModify[i][5].ToString(); ??????if(!dataRowModify[i][6].ToString().Equals("")) ??????{ ???????vo_DevSpec.num= Int64.Parse(dataRowModify[i][6].ToString()); ??????} ??????if(!dataRowModify[i][7].ToString().Equals("")) ??????{ ???????vo_DevSpec.row= Int64.Parse(dataRowModify[i][7].ToString()); ??????} ??????if(!dataRowModify[i][8].ToString().Equals("")) ??????{ ???????vo_DevSpec.col= Int64.Parse(dataRowModify[i][8].ToString()); ??????} ??????vo_DevSpec.disposeType=dataRowModify[i][9].ToString();

??????arrVO_DevSpec_Modify[i] = vo_DevSpec; ?????} ??????? ?????f_WR_Public.modifyDevSpec(arrVO_DevSpec_Modify); ?????MessageBox.Show ("保存成功!", "保存数据",MessageBoxButtons.OK, MessageBoxIcon.Information); ????} ????DevSpec.AcceptChanges(); ???} ???catch(Exception ee) ???{ ????MessageBox.Show (ee.ToString(), "Error",MessageBoxButtons.OK, MessageBoxIcon.Information); ???} ??? }

?

?

private void QueryIfSaveDevData() ??{ ???/*该函数查询Dev表中是否有未保存的数据,如果有,则询问是否保存, ??? * 如果用户回答需要保存,则调用SaveDevData过程保存数据,如果回答否, ??? * 则调用查询过程QueryDevSpec刷新页面*/ ???DataRow[] dataRowAdd1 = DevSpec.Select(null,null,DataViewRowState.Added); ???int mAddCount1= dataRowAdd1.Length; ???DataRow[] dataRowModify1 = DevSpec.Select(null,null,DataViewRowState.ModifiedCurrent); ???int mModifyCount1=dataRowModify1.Length; ???if (mAddCount1!=0 || mModifyCount1 !=0) ???{ ????if (MessageBox.Show ("有编辑过的数据未保存,需要保存吗?", "提示", ?????MessageBoxButtons.YesNo, MessageBoxIcon.Question)== DialogResult.Yes) ?????SaveDevData(); ????else ?????QueryDevSpec(); ???} ??}

搜索更多相关主题的帖子: DataGrid 数据 DevSpec 代码 Delete 
2005-08-06 17:02
goodgoodstudy
Rank: 2
等 级:新手上路
威 望:3
帖 子:111
专家分:0
注 册:2005-4-6
收藏
得分:0 
前面的问号是怎么回事啊?

2005-08-06 18:04
冰封谷主
Rank: 4
等 级:贵宾
威 望:10
帖 子:226
专家分:20
注 册:2005-1-7
收藏
得分:0 
代表空格呀!

2005-08-06 18:10
sportboy
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2005-3-24
收藏
得分:0 
不错,都是版主,支持一下

以后还要共同工作呢!

2005-08-06 18:50
host1982
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2005-8-7
收藏
得分:0 
呵呵,还是不错

共同切磋,一起进步 电子邮件:host1982@ QQ:156018083
2005-08-07 01:46
gaofangtao
Rank: 1
等 级:新手上路
帖 子:128
专家分:0
注 册:2005-4-7
收藏
得分:0 
找的就是它啦!

我相信我的付出
2005-08-07 07:47
笨男孩
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2005-8-4
收藏
得分:0 
六个人 5个斑竹,恩,挺好玩的啊
不过贴子真的不错啊%
em02]

2005-08-07 16:51
zgy0209zgy
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-8-15
收藏
得分:0 
帖子不错就是问号太多了啊,看的头都大了啊
2005-08-16 17:09
快速回复:c#中DataGrid的数据新增编辑删除操作代码[转][共享]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044945 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved