分享
 
 
 

c#中DataGrid的数据新增编辑删除操作代码

王朝c#·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

private void DeleteDevData()

??{

???int deleteNum=0;

???//删除选中的某一行或多行记录,调用DataGrid的IsSelected(i)函数,如果函数返回结果为true,则表示该行被选中

???ArrayList arrList = new ArrayList();

???for(int i=0;i

???{???

????if(dtg_BasicDataInfo.IsSelected(i)==true)

????{?

?????F_WR_Public.VO_DevSpec vo_DevSpec_Delete = new F_WR_Public.VO_DevSpec();

?????//表中第11列保存的是设备类型的主键,但没有显示在表中。

?????vo_DevSpec_Delete.devSpecID = Int64.Parse(DevSpec.Rows[i][10].ToString());

?????arrList.Add(vo_DevSpec_Delete);

?????deleteNum++;

????}

???}

???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;i?????{

??????F_WR_Public.VO_DevSpec vo_DevSpec_Result = arrVO_DevSpec[i];

??????DataRow myRow;

??????myRow = DevSpec.NewRow();

??????myRow["设备大类"] =DIC_DevSpec[vo_DevSpec_Result.devTypeID].displayMember.ToString();

??????myRow["规格类型"] = vo_DevSpec_Result.specType;

??????myRow["生产厂家"] = vo_DevSpec_Result.manufacturer;

??????myRow["长"] = vo_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

?????{

??????F_WR_Public.VO_DevSpec vo_DevSpec = new F_WR_Public.VO_DevSpec();

??????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

?????{

??????F_WR_Public.VO_DevSpec vo_DevSpec = new F_WR_Public.VO_DevSpec();

??????//表中第11列保存的是设备类型的主键,但没有显示在表中。

??????vo_DevSpec.devSpecID= Int64.Parse(dataRowModify[i][10].ToString());

??????//

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

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

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

??????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();

???}

??}

?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有