private void dgvBindList_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 2 && e.RowIndex >= 0) { int tempNumber = 0; AiInfoModel aim = dgvBindList.Rows[e.RowIndex].Tag as AiInfoModel; if (!int.TryParse(dgvBindList[e.ColumnIndex, e.RowIndex].Value.ToString(), out tempNumber)) { dgvBindList[e.ColumnIndex, e.RowIndex].Value = aim.aiNumber; return; } if (tempNumber == aim.aiNumber) { return; } if (tempNumber != 0) { AiInfoModel tempAim = FrmMain._relationList.Find(a => a.aiNumber == tempNumber); if (tempAim != null) { MessageBox.Show(string.Format("该编号已被使用 ProjectId:[{0}] NetId:[{1}] RefId:[{2}] PortId[{3}]", tempAim.LinkProjectNo, tempAim.LinkNetId, tempAim.LinkRefId, tempAim.LinkPortNo), "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); dgvBindList[e.ColumnIndex, e.RowIndex].Value = aim.aiNumber; return; } } isUpdate = true; aim.aiNumber = tempNumber; dgvBindList.Rows[e.RowIndex].Tag = aim; if (!FrmMain._relationList.Contains(aim)) { FrmMain._relationList.Add(aim); } } }
private void tvAiList_AfterSelect(object sender, TreeViewEventArgs e) { if (_LastSelectNode == tvAiList.SelectedNode) { return; } if (isUpdate) { //if (MessageBox.Show("当前配置尚未保存,确定要切换到其他库吗?", "操作提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { // isUpdate = false; //} //else // tvAiList.SelectedNode = _LastSelectNode; MessageBox.Show("请先保存当前配置!", "操作提示", MessageBoxButtons.OK, MessageBoxIcon.Information); tvAiList.SelectedNode = _LastSelectNode; } dgvBindList.Rows.Clear(); if (tvAiList.SelectedNode == null || tvAiList.SelectedNode.Tag == null) { return; } if (tvAiList.SelectedNode.Tag is TbccCarPrjType) { TbccCarPrjType carItem = tvAiList.SelectedNode.Tag as TbccCarPrjType; AiInfoModel aim1 = GetBindValue(carItem.CarProjectId, 0, 0, 1); AiInfoModel aim2 = GetBindValue(carItem.CarProjectId, 0, 0, 2); AiInfoModel aim3 = GetBindValue(carItem.CarProjectId, 0, 0, 3); AiInfoModel aim4 = GetBindValue(carItem.CarProjectId, 0, 0, 4); AiInfoModel aim5 = GetBindValue(carItem.CarProjectId, 0, 0, 5); AiInfoModel aim6 = GetBindValue(carItem.CarProjectId, 0, 0, 6); dgvBindList.Rows[dgvBindList.Rows.Add(tvAiList.SelectedNode.Text, "AI1", aim1.aiNumber)].Tag = aim1; dgvBindList.Rows[dgvBindList.Rows.Add(tvAiList.SelectedNode.Text, "AI2", aim2.aiNumber)].Tag = aim2; dgvBindList.Rows[dgvBindList.Rows.Add(tvAiList.SelectedNode.Text, "AI3", aim3.aiNumber)].Tag = aim3; dgvBindList.Rows[dgvBindList.Rows.Add(tvAiList.SelectedNode.Text, "AI4", aim4.aiNumber)].Tag = aim4; dgvBindList.Rows[dgvBindList.Rows.Add(tvAiList.SelectedNode.Text, "经度", aim5.aiNumber)].Tag = aim5; dgvBindList.Rows[dgvBindList.Rows.Add(tvAiList.SelectedNode.Text, "纬度", aim6.aiNumber)].Tag = aim6; } else { List <TbccRefAiInfo> aiList = tvAiList.SelectedNode.Tag as List <TbccRefAiInfo>; foreach (var item in aiList) { AiInfoModel aim = GetBindValue(item.ProjectID, item.NetId, item.RefId, item.PortNo); int rowIndex = dgvBindList.Rows.Add(tvAiList.SelectedNode.Text, item.PortName, aim.aiNumber); dgvBindList.Rows[rowIndex].Tag = aim; } } _LastSelectNode = tvAiList.SelectedNode; }
private AiInfoModel GetBindValue(string projectId, int netId, int refId, float portId) { AiInfoModel aim = FrmMain._relationList.Find(a => a.LinkProjectNo == projectId && a.LinkRefId == refId && a.LinkNetId == netId && a.LinkPortNo == portId); if (aim != null) { return(aim); } else { return new AiInfoModel() { aiNumber = 0, LinkPortNo = portId, LinkProjectNo = projectId, LinkNetId = netId, LinkRefId = refId } }; }