/// <summary> /// 工具栏操作--新增 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void toolAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { FormEFDeviceInfo frmDeviceInfo = new FormEFDeviceInfo(); // 工具栏为新增操作 toolBar.Tag = "ADD"; // 对话框为新增操作 frmDeviceInfo.Tag = "ADD"; // 订阅表格更新事件 frmDeviceInfo.OnUpdateView += UpdateViewShow; frmDeviceInfo.ShowDialog(); }
/// <summary> /// 表格控制列的编辑操作 /// </summary> private void OnEdit() { toolBar.Tag = "EDIT"; FormEFDeviceInfo frmDeviceInfo = new FormEFDeviceInfo(); // 注意!!由于是更新数据库已有记录,这里不能用新的DeviceDto实例去保存信息 // 必须采用表格数据源中既有实体对象来更新,因为EF对该实体有跟踪; // 否则,EF会认为是新的实体,更新会失败! frmDeviceInfo.EditedDeviceDto = gvDevice.GetFocusedRow() as DeviceDto; // Form为编辑操作 frmDeviceInfo.Tag = "EDIT"; // 订阅表格更新事件 frmDeviceInfo.OnUpdateView += UpdateViewShow; frmDeviceInfo.ShowDialog(); }