private void btnLuu_Click(object sender, EventArgs e) { errorProvider.Clear(); if (string.IsNullOrEmpty(monhoc) || string.IsNullOrEmpty(lop)) { this.btnNhap.Enabled = true; this.btnLuu.Enabled = false; errorProvider.SetError(this.btnNhap, "Các trường thông tin nhập điểm không được để trống !"); return; } if (checkEmptyRow()) { this.btnNhap.Enabled = false; this.btnLuu.Enabled = true; errorProvider.SetError(this.btnLuu, "Bạn chưa nhập hết bản điểm cho sinh viên !"); return; } else { //get binding source từ gridcontrol BindingSource bdsTemp = (BindingSource)this.gridControlDiem.DataSource; // kết thúc việc cập nhật dữ liệu this.Validate(); bdsTemp.EndEdit(); // bắt đầu ghi dữ liệu SqlConnection conn = new SqlConnection(Program.URL_Connect); // bắt đầu transaction SqlTransaction tran; conn.Open(); tran = conn.BeginTransaction(); try { for (int i = 0; i < bdsTemp.Count ; i++) { SqlCommand cmd = new SqlCommand("SP_INSERT_DIEM", conn); cmd.Connection = conn; cmd.Transaction = tran; cmd.CommandType = CommandType.StoredProcedure; string masv = ((DataRowView)bdsTemp[i])["MASV"].ToString(); cmd.Parameters.Add(new SqlParameter("@MASV", masv)); cmd.Parameters.Add(new SqlParameter("@MAMH", monhoc)); cmd.Parameters.Add(new SqlParameter("@LAN", lanthi)); float diem = float.Parse(((DataRowView)bdsTemp[i])["DIEM"].ToString()); cmd.Parameters.Add(new SqlParameter("@DIEM", diem)); cmd.ExecuteNonQuery(); } tran.Commit(); } catch (SqlException sqlex) { try { tran.Rollback(); XtraMessageBox.Show("Lỗi ghi toàn bộ điểm vào Database. Bạn hãy xem lại ! " + sqlex.Message, "", MessageBoxButtons.OK); } catch (Exception ex2) { Console.WriteLine("Rollback Exception Type: {0}", ex2.GetType()); Console.WriteLine(" Message: {0}", ex2.Message); } conn.Close(); return; } finally { conn.Close(); } XtraMessageBox.Show("Thao tác thành công!", "", MessageBoxButtons.OK); this.btnNhap.Enabled = true; this.btnLuu.Enabled = false; this.groupControlNhapDiem.Enabled = true; return; } }
private bool SaveDBSettings() { settingsService = Program.kernel.Get <ISettingsService>(); if (FindDeviceNameDuplicate((DeviceInfoDTO)DBDeviceBS.Current, _parentDeviceId)) { MessageBox.Show("Блок памяти таким именем уже используется для данного контроллера. Введите другое наименование.\n", "Сохранение", MessageBoxButtons.OK, MessageBoxIcon.Information); nameTBox.Focus(); return(false); } DBSettingsBS.EndEdit(); DBDeviceBS.EndEdit(); int deviceTypeId = settingsService.GetDeviceTypeIdByName("DB"); DevicesDTO entity = new DevicesDTO() { Id = _deviceId, Name = ((DeviceInfoDTO)DBDeviceBS.Current).Name, TypeId = deviceTypeId, LocalCPUID = ConfigClass.Instance.LocalCPUID }; if (_operation == Utils.Operation.Add) { if (!dataItemList.Any(s => s.ItemTypeId == 0)) { _deviceId = settingsService.DeviceCreate(entity); if (_deviceId > 0) { int skId = settingsService.GetSettingKindIdByName("DataBlockIndex"); settingsService.DeviceSettingCreate(new DeviceSettingsDTO() { DeviceId = _deviceId, SettingKindId = skId, SettingValue = ((DeviceInfoDTO)DBDeviceBS.Current).SettingValue }); int iId = settingsService.GetSettingKindIdByName("Interval"); settingsService.DeviceSettingCreate(new DeviceSettingsDTO() { DeviceId = _deviceId, SettingKindId = iId, SettingValue = refreshSpin.EditValue.ToString() }); dataItemList.ForEach(s => s.DeviceId = _deviceId); var items = dataItemList.Select(s => new DataItemsDTO() { DeviceId = s.DeviceId, ItemTypeId = s.ItemTypeId, Name = s.Name, Offset = s.Offset, ParentDeviceId = s.ParentDeviceId, CanListen = (s.CanListen) ? 1 : 0 }).ToList(); settingsService.DataItemsCreate(items); } else { MessageBox.Show("Ошибка при добавлении нового устройства! Проверьте настройки подключения.", "Сохранение", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } else { MessageBox.Show("Не выбран тип данных для одной или нескольких переменных блока памяти!", "Сохранение", MessageBoxButtons.OK, MessageBoxIcon.Information); return(false); } } else { settingsService.DeviceUpdate(entity); var modelIndex = new DeviceSettingsDTO() { Id = ((DeviceInfoDTO)DBDeviceBS.Current).DeviceSettingId ?? 0, DeviceId = ((DeviceInfoDTO)DBDeviceBS.Current).DeviceId, SettingKindId = settingsService.GetSettingKindIdByName("DataBlockIndex"), SettingValue = ((DeviceInfoDTO)DBDeviceBS.Current).SettingValue }; settingsService.DeviceSettingUpdate(modelIndex); var modelInterval = new DeviceSettingsDTO() { Id = _intervatSettingId, DeviceId = ((DeviceInfoDTO)DBDeviceBS.Current).DeviceId, SettingKindId = settingsService.GetSettingKindIdByName("Interval"), SettingValue = refreshSpin.EditValue.ToString() }; settingsService.DeviceSettingUpdate(modelInterval); var items = dataItemList.Select(s => new DataItemsDTO() { Id = s.Id, DeviceId = s.DeviceId, ItemTypeId = s.ItemTypeId, Name = s.Name, Offset = s.Offset, ParentDeviceId = s.ParentDeviceId, CanListen = (s.CanListen) ? 1 : 0 }).ToList(); settingsService.DataItemsUpdate(items); } return(true); }
//******************************显示数据******************************// //显示根据信息查找 private void DataShow(Int32 InstruID) { //******************************外表 根据条件绑定******************************// readOuterData(InstruID); outerBind(); //MessageBox.Show("记录数目:" + dt记录.Rows.Count.ToString()); //*******************************表格内部******************************// if (dt记录.Rows.Count <= 0) { //********* 外表新建、保存、重新绑定 *********// if (!mySystem.Parameter.isSqlOk) { //初始化外表这一行 DataRow dr1 = dt记录.NewRow(); dr1 = writeOuterDefault(dr1); dt记录.Rows.InsertAt(dr1, dt记录.Rows.Count); //立马保存这一行 bs记录.EndEdit(); da记录.Update((DataTable)bs记录.DataSource); //外表重新绑定 readOuterData(InstruID); outerBind(); //********* 内表新建、保存 *********// //内表绑定 readInnerData((int)dt记录.Rows[0]["ID"]); innerBind(); dt记录详情.Rows.Clear(); dt记录详情 = writeInnerDefault(Convert.ToInt32(dt记录.Rows[0]["ID"]), dt记录详情); setDataGridViewRowNums(); //立马保存内表 da记录详情.Update((DataTable)bs记录详情.DataSource); } else { //初始化外表这一行 DataRow dr1 = dt记录.NewRow(); dr1 = writeOuterDefault(dr1); dt记录.Rows.InsertAt(dr1, dt记录.Rows.Count); //立马保存这一行 bs记录.EndEdit(); da记录_sql.Update((DataTable)bs记录.DataSource); //外表重新绑定 readOuterData(InstruID); outerBind(); //********* 内表新建、保存 *********// //内表绑定 readInnerData((int)dt记录.Rows[0]["ID"]); innerBind(); dt记录详情.Rows.Clear(); dt记录详情 = writeInnerDefault(Convert.ToInt32(dt记录.Rows[0]["ID"]), dt记录详情); setDataGridViewRowNums(); //立马保存内表 da记录详情_sql.Update((DataTable)bs记录详情.DataSource); } } dataGridView1.Columns.Clear(); readInnerData(Convert.ToInt32(dt记录.Rows[0]["ID"])); setDataGridViewColumns(); innerBind(); addComputerEventHandler(); // 设置自动计算类事件 setFormState(); // 获取当前窗体状态:窗口状态 0:未保存;1:待审核;2:审核通过;3:审核未通过 setEnableReadOnly(); //根据状态设置可读写性 }
private void btnUpdate_Click(object sender, EventArgs e) { BS.EndEdit(); DA.Update(titleDataTable); }
/// <summary> /// 单击保存按钮事件 /// </summary> private bool btnSave_Click() { try { masterBindingSource.EndEdit(); DataRow dr = ((DataRowView)masterBindingSource.Current).Row; if (dr.RowState == DataRowState.Added && DataTypeConvert.GetString(dr[PrimaryKeyColumn]) != "") { string sqlStr = string.Format("select count(*) from {0} where {1}='{2}'", TableName, PrimaryKeyColumn, DataTypeConvert.GetString(dr[PrimaryKeyColumn])); if (DataTypeConvert.GetInt(BaseSQL.GetSingle(sqlStr)) > 0) { //MessageHandler.ShowMessageBox(string.Format("主键列[{0}]不可以输入重复的信息,请重新输入。", masterDataSet.Tables[0].Columns[PrimaryKeyColumn].Caption)); MessageHandler.ShowMessageBox(string.Format(f.tsmiZjl.Text + "[{0}]" + f.tsmiBkysrcfdxxqcxsr.Text, masterDataSet.Tables[0].Columns[PrimaryKeyColumn].Caption)); if (masterEditPanel != null) { masterEditPanel.SelectNextControl(null, true, true, true, true); } return(false); } } else if (dr.RowState == DataRowState.Modified && DataTypeConvert.GetString(dr[PrimaryKeyColumn]) != "") { string sqlStr = string.Format("select count(*) from {0} where {1}='{2}' and {1}!='{3}'", TableName, PrimaryKeyColumn, DataTypeConvert.GetString(dr[PrimaryKeyColumn, DataRowVersion.Current]), DataTypeConvert.GetString(dr[PrimaryKeyColumn, DataRowVersion.Original])); if (DataTypeConvert.GetInt(BaseSQL.GetSingle(sqlStr)) > 0) { //MessageHandler.ShowMessageBox(string.Format("主键列[{0}]不可以输入重复的信息,请重新输入。", masterDataSet.Tables[0].Columns[PrimaryKeyColumn].Caption)); MessageHandler.ShowMessageBox(string.Format(f.tsmiZjl.Text + "[{0}]" + f.tsmiBkysrcfdxxqcxsr.Text, masterDataSet.Tables[0].Columns[PrimaryKeyColumn].Caption)); if (masterEditPanel != null) { masterEditPanel.SelectNextControl(null, true, true, true, true); } return(false); } } if (dr.RowState != DataRowState.Unchanged || RowStateUnchangedIsSave) { if (DoSave(dr)) { newState = false; Set_Button_State(true); Set_EditZone_ControlReadOnly(true); int posInt = masterBindingSource.Position; btnRefresh_Click(null, null); masterBindingSource.Position = posInt; return(true); } return(false); } else { newState = false; Set_Button_State(true); Set_EditZone_ControlReadOnly(true); int posInt = masterBindingSource.Position; btnRefresh_Click(null, null); masterBindingSource.Position = posInt; return(true); } } catch (Exception ex) { //ExceptionHandler.HandleException(this.Text + "--保存按钮事件错误。", ex); ExceptionHandler.HandleException(this.Text + "--" + f.tsmiBcansj.Text, ex); if (masterEditPanel != null) { masterEditPanel.SelectNextControl(null, true, true, true, true); } return(false); } }
private void GrabarNuevoRegistro() { //Actualizo la Interfaz Grafica. DataRowView FilaActual; FilaActual = (DataRowView)bs.Current; FilaActual["precio"] = txt_precio.Text; FilaActual["product_name"] = txt_product_name.Text; FilaActual["MasterRolls"] = RAD_MASTER_ROLLS.Checked; FilaActual["Resmas"] = RAD_RESMAS.Checked; FilaActual["Graphics"] = RAD_GRAPHICS.Checked; FilaActual["Product_Ref"] = txt_referencia.Text; FilaActual["Codebar"] = txt_code_bar.Text; FilaActual["Ratio"] = txt_ratio.Text; if (RAD_MASTER_ROLLS.Checked) { FilaActual["Code_RC"] = txt_product_id.Text + "0"; } else { FilaActual["Code_RC"] = ""; } bs.EndEdit(); //Crear el Objeto producto. ClassProduct producto = new ClassProduct { Precio = 0, Product_id = txt_product_id.Text, ProductName = txt_product_name.Text, Descripcion = txt_descrip_product.Text, Referencia = txt_referencia.Text, Codebar = txt_code_bar.Text, Categoria = cbo_category.Text, MasterRolls = RAD_MASTER_ROLLS.Checked, Resmas = RAD_RESMAS.Checked, Graphics = RAD_GRAPHICS.Checked, Code_RC = FilaActual["Code_RC"].ToString(), Ratio = Convert.ToDecimal(txt_ratio.Text) }; producto.Precio = Convert.ToDouble(txt_precio.Text); producto.Anulado = false; ProductsManager productoManager = new ProductsManager(); // Validar la entidad Producto. if (producto.Product_id == string.Empty) { MessageBox.Show("Introduzca el Part Number."); return; } if (producto.ProductName == string.Empty) { MessageBox.Show("Introduzca el nombre del producto."); return; } if (producto.MasterRolls == false && producto.Resmas == false && producto.Graphics == false) { MessageBox.Show("Introduzca el tipo de producto Master Roll,Resma,Graphics."); return; } productoManager.Add(producto, false); // Verifico que el producto creado es un master rolls // para crear tambien el producto como rollo cortado. if (producto.MasterRolls) { productoManager.Add(CreateProductRollCut(producto), true); } txt_product_id.ReadOnly = true; txt_product_name.ReadOnly = true; txt_descrip_product.ReadOnly = true; txt_code_bar.ReadOnly = true; txt_referencia.ReadOnly = true; txt_precio.ReadOnly = true; txt_ratio.ReadOnly = true; cbo_category.Enabled = true; RAD_MASTER_ROLLS.Enabled = false; RAD_RESMAS.Enabled = false; RAD_GRAPHICS.Enabled = false; cbo_category.Enabled = false; CHK_ANULADO.DataBindings.Add("checked", bs, "anulado"); RAD_MASTER_ROLLS.DataBindings.Add("checked", bs, "MasterRolls"); RAD_ROLLO_CORTADO.DataBindings.Add("checked", bs, "rollo_cortado"); RAD_RESMAS.DataBindings.Add("checked", bs, "Resmas"); RAD_GRAPHICS.DataBindings.Add("checked", bs, "graphics"); ContadorRegistros(); EditMode = 0; BOT_PRIMERO.Enabled = true; BOT_SIGUIENTE.Enabled = true; BOT_ANTERIOR.Enabled = true; BOT_ULTIMO.Enabled = true; BOT_NUEVO.Enabled = true; BOT_CANCELAR.Enabled = false; BOT_GRABAR.Enabled = false; BOT_MODIFICAR.Enabled = true; BOT_BUSCAR.Enabled = true; }
private void AddRows() { bindingSource.AddNew(); bindingSource.EndEdit(); }