private void btnDIModifyOk_Click(object sender, EventArgs e) { //获取修改的数据 String GroupName = dgvDIModify.Rows[0].Cells[0].Value.ToString(); String Name = dgvDIModify.Rows[0].Cells[1].Value.ToString(); Int32 CardNum = int.Parse(dgvDIModify.Rows[0].Cells[2].Value.ToString()); Int32 IoID = int.Parse(dgvDIModify.Rows[0].Cells[3].Value.ToString()); String mIoType = dgvDIModify.Rows[0].Cells[4].Value.ToString(); Int32 IoType = WUseToolClass.getIoType(dgvDIModify.Rows[0].Cells[4].Value.ToString()); String mIoState = dgvDIModify.Rows[0].Cells[5].Value.ToString(); Int32 IoState = WUseToolClass.getIoState(dgvDIModify.Rows[0].Cells[5].Value.ToString()); Int32 ExtendNum = int.Parse(dgvDIModify.Rows[0].Cells[6].Value.ToString()); try { int isModifyNum = 0; int mIndex = dgvDI.CurrentRow.Index; String oldName = dgvDI.Rows[mIndex].Cells[1].Value.ToString(); if (Name != oldName) { if (mWDataToolClass.SelectShowDICheck(" Name='" + Name + "'") == 1) { MessageBox.Show("端口名称已存在,请检查"); return; } } else { isModifyNum++; } if (IoType == 1023) { if (CardNum == int.Parse(dgvDI.Rows[mIndex].Cells[2].Value.ToString()) && IoID == int.Parse(dgvDI.Rows[mIndex].Cells[3].Value.ToString()) && mIoType == dgvDI.Rows[mIndex].Cells[4].Value.ToString() && ExtendNum == int.Parse(dgvDI.Rows[mIndex].Cells[6].Value.ToString())) { isModifyNum++; } else { if (mWDataToolClass.SelectShowDICheck( " CardNum=" + CardNum.ToString() + " and IoID=" + IoID.ToString() + " and IoType=" + IoType.ToString() + " and ExtendNum=" + ExtendNum.ToString() ) == 1) { MessageBox.Show("卡号、端口号、端口类型和扩展卡号已存在,请检查"); return; } } } else { if (CardNum == int.Parse(dgvDI.Rows[mIndex].Cells[2].Value.ToString()) && IoID == int.Parse(dgvDI.Rows[mIndex].Cells[3].Value.ToString()) && mIoType == dgvDI.Rows[mIndex].Cells[4].Value.ToString()) { isModifyNum++; } else { if (mWDataToolClass.SelectShowDICheck( " CardNum=" + CardNum.ToString() + " and IoID=" + IoID.ToString() + " and IoType=" + IoType.ToString() ) == 1) { MessageBox.Show("卡号、端口号和端口类型已存在,请检查"); return; } } } if (GroupName == dgvDI.Rows[mIndex].Cells[0].Value.ToString() && mIoState == dgvDI.Rows[mIndex].Cells[5].Value.ToString()) { isModifyNum++; } if (isModifyNum == 3) { MessageBox.Show("当前数据未有改动"); return; } if (mWDataToolClass.UpdateDI(oldName, GroupName, Name, CardNum, IoID, IoType, IoState, ExtendNum) != 0) { MessageBox.Show("轴数据修改失败"); return; } //刷新轴数据 mWDataToolClass.SelectShowDI(ref dgvDI); dgvDIModify.Rows.Clear(); closePanelUI(); MessageBox.Show("轴数据修改成功"); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }