void Save() { string skillCode = this.ucSkill.txtSkillCode.Text.Trim(); string nSkillId = this.ucSkill.txtSKillId.Text.Trim(); if (string.IsNullOrEmpty(skillCode)) { SharedLogic.ShowMessage("技能Code不可为空"); return; } var rows = _bindData.Select(SkillItemData.COLSkillCode + "='" + skillCode + "'"); if (skillCode != this._editCode && null != rows && rows.Length > 0) { SharedLogic.ShowMessage("该技能Code已存在"); this.ucSkill.txtSkillCode.Focus(); return; } rows = _bindData.Select(SkillItemData.COLSkillId + "='" + nSkillId.TrimStart('0') + "'"); if (null != rows) { foreach (var dr in rows) { if (dr[SkillItemData.COLSkillCode].ToString() != _editCode) { SharedLogic.ShowMessage("该技能Id已存在"); this.ucSkill.txtSKillId.Focus(); return; } } } var nXml = this.ucSkill.GetValue(); if (null == nXml) { SharedLogic.ShowMessage("构造XML失败"); return; } this._editXml.RemoveAll(); this._editXml.Add(nXml.Attributes()); this._editXml.Add(nXml.Nodes()); var obj = new SkillItemData(); SharedLogic.TryGetBindSkillItem(nXml, obj); if (this.OpState != OperationState.Edit) { this._rootXml.Add(this._editXml); this._bindData.Rows.Add(obj.Values); if (this.OpState == OperationState.New) { this.OpState = OperationState.Edit; this._editCode = skillCode; } else if (this.OpState == OperationState.Renew || this.OpState == OperationState.CopyNew) { this._editXml = new XElement(SharedLogic.KEYSkill); this.ucSkill.txtSkillCode.Text = ""; this.ucSkill.txtSkillCode.Focus(); } this._bindData.TableName = skillCode; } else { var editRows = _bindData.Select(SkillItemData.COLSkillCode + "='" + this._editCode + "'"); if (null == editRows || editRows.Length == 0) { SharedLogic.ShowMessage("未找到编辑的行"); return; } editRows[0][SkillItemData.COLSkillId] = obj.SkillId; editRows[0][SkillItemData.COLSkillName] = obj.SkillName; editRows[0][SkillItemData.COLSkillSrcType] = obj.SkillType; editRows[0][SkillItemData.COLModelId] = obj.ModelId; editRows[0][SkillItemData.COLOpenClipId] = obj.OpenClipId; editRows[0][SkillItemData.COLClipId] = obj.ClipId; editRows[0][SkillItemData.COLMemo] = obj.Memo; } this._bindData.AcceptChanges(); SharedLogic.ShowMessage("保存成功"); }