577 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			577 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | ||
| using System.Collections.Generic;
 | ||
| using System.ComponentModel;
 | ||
| using System.Data;
 | ||
| using System.Drawing;
 | ||
| using System.Linq;
 | ||
| using System.Text;
 | ||
| using System.Windows.Forms;
 | ||
| using AIMSBLL;
 | ||
| using AIMSModel;
 | ||
| using DrawGraph;
 | ||
| using AIMSExtension;
 | ||
| using DevComponents.DotNetBar.Controls;
 | ||
| 
 | ||
| namespace AIMS.PublicUI.UI
 | ||
| {
 | ||
|     public partial class frmFactOutputLiquidsNew : Form
 | ||
|     {
 | ||
| 
 | ||
|         public frmFactOutputLiquidsNew()
 | ||
|         {
 | ||
|             InitializeComponent();
 | ||
|         }
 | ||
|         /// <summary>
 | ||
|         /// 手术记录
 | ||
|         /// </summary>
 | ||
|         public DrawGraph.OperationRecord _record;
 | ||
|         /// <summary>
 | ||
|         /// 图表控件
 | ||
|         /// </summary>
 | ||
|         public DrawGraph.ZedGraphControl zgcAnaesRecord;
 | ||
|         /// <summary>
 | ||
|         /// 出量集合
 | ||
|         /// </summary>
 | ||
|         public List<OutputLiquids> _outputList;
 | ||
|         /// <summary>
 | ||
|         /// 计量单位集合
 | ||
|         /// </summary>
 | ||
|         public List<BasicDictionary> _unitList; 
 | ||
|         public delegate void OutsParamHandler(); 
 | ||
|         public event OutsParamHandler OutParam;
 | ||
| 
 | ||
|         int LastColumnIndex = 0;// e.ColumnIndex 
 | ||
|         public int OutputLiquidTypeId;
 | ||
| 
 | ||
|         private void frmFactOutputLiquidsNew_Load(object sender, EventArgs e)
 | ||
|         {
 | ||
|             for (int i = 0; i < dgvOutput.Columns.Count; i++)
 | ||
|             {
 | ||
|                 dgvOutput.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
 | ||
|             }
 | ||
|             Initial();
 | ||
|             dgvEvents_RowsAdded(null, null);
 | ||
|         }
 | ||
|         /// <summary>
 | ||
|         /// 初始化公共成员
 | ||
|         /// </summary>
 | ||
|         private void Initial()
 | ||
|         {
 | ||
|             _unitList = BBasicDictionary.GetBasicDictionaryByName("给药单位").SubItem;
 | ||
|             _outputList = BOutputLiquids.Select(" IsValid=1", null);
 | ||
|             _unitList.Insert(0, new BasicDictionary() { Id = -1, Name = "" });
 | ||
|             #region 增加常用出量显示  
 | ||
|             foreach (OutputLiquids type in _outputList)
 | ||
|             {
 | ||
|                 int index = this.dgvOutput.Rows.Add();
 | ||
|                 this.dgvOutput.Rows[index].Cells["OutputName"].Value = type.Name;
 | ||
|                 this.dgvOutput.Rows[index].Cells["OutputName"].Tag = type.Id;
 | ||
|                 this.dgvOutput.Rows[index].Cells["DoseUnit"].Value = "ml";
 | ||
|                 dgvOutput.CurrentCell = this.dgvOutput.Rows[index].Cells[2];
 | ||
|                 dgvOutput.BeginEdit(true);
 | ||
|                 if (index == 3) break;
 | ||
|             }
 | ||
|             #endregion
 | ||
|             _outputList.Insert(0, new OutputLiquids() { Id = -1, Name = "" });
 | ||
|             if (_record.FactOutputLiquidsList.Count > 0)
 | ||
|             {
 | ||
|                 FullDGV(_record.FactOutputLiquidsList);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         private void FullDGV(List<FactOutputLiquids> list)
 | ||
|         {
 | ||
|             //添加出量
 | ||
|             if (list.Count > 0)
 | ||
|             {
 | ||
|                 foreach (FactOutputLiquids item in list)
 | ||
|                 {
 | ||
|                     bool k = false;
 | ||
|                     foreach (DataGridViewRow row in dgvOutput.Rows)
 | ||
|                     {
 | ||
|                         OutputLiquids type = null;
 | ||
|                         if (row.Cells["OutputName"].Tag != null)
 | ||
|                         {
 | ||
|                             type = BOutputLiquids.SelectSingle(Convert.ToInt32(row.Cells["OutputName"].Tag));
 | ||
|                         }
 | ||
|                         if (type != null)
 | ||
|                         {
 | ||
|                             if (type.Id == item.OutputLiquidsId && row.Cells["Dose"].EditedFormattedValue.ToString() == "")
 | ||
|                             {
 | ||
|                                 row.Tag = item.Id;
 | ||
|                                 row.Cells["Dose"].Value = ((double)item.Dosage).ToString();
 | ||
|                                 row.Cells["DoseUnit"].Value = item.DosageUnit;
 | ||
|                                 if (Convert.ToDateTime(item.BeginTime).ToString().Length > 0)
 | ||
|                                 {
 | ||
|                                     row.Cells["BeginTime"].Value = item.BeginTime;
 | ||
|                                 }
 | ||
|                                 if (item.IsContinue > 0)
 | ||
|                                 {
 | ||
|                                     row.Cells["Continue"].Value = "-->";
 | ||
|                                 }
 | ||
|                                 if (Convert.ToDateTime(item.EndTime).ToString().Length > 0)
 | ||
|                                 {
 | ||
|                                     if (item.EndTime != item.BeginTime)
 | ||
|                                     {
 | ||
|                                         row.Cells["EndTime"].Value = item.EndTime;// Convert.ToDateTime(item.EndTime); 
 | ||
|                                     }
 | ||
|                                 }
 | ||
|                                 if (Convert.ToDateTime(item.EndTime).ToString().Length > 0 && item.EndTime > item.BeginTime)
 | ||
|                                 {
 | ||
|                                     row.Cells["Continue"].Value = "-->";
 | ||
|                                     row.Cells["EndTime"].Value = item.EndTime;
 | ||
|                                 }
 | ||
|                                 row.Cells["Remark"].Value = item.Remark;
 | ||
|                                 k = true;
 | ||
|                                 break;
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
|                     if (k) continue;
 | ||
|                     int index = this.dgvOutput.Rows.Add();
 | ||
|                     this.dgvOutput.Rows[index].Tag = item.Id;
 | ||
|                     this.dgvOutput.Rows[index].Cells["Remark"].Value = item.Remark;
 | ||
|                     this.dgvOutput.Rows[index].Cells["OutputName"].Value = item.OutputLiquidsName;
 | ||
|                     this.dgvOutput.Rows[index].Cells["OutputName"].Tag = item.OutputLiquidsId;
 | ||
|                     this.dgvOutput.Rows[index].Cells["Dose"].Value = (double)item.Dosage;
 | ||
|                     this.dgvOutput.Rows[index].Cells["DoseUnit"].Value = item.DosageUnit;
 | ||
|                     if (Convert.ToDateTime(item.BeginTime).ToString().Length > 0)
 | ||
|                     {
 | ||
|                         this.dgvOutput.Rows[index].Cells["BeginTime"].Value = item.BeginTime;
 | ||
|                     }
 | ||
|                     if (item.IsContinue > 0)
 | ||
|                     {
 | ||
|                         this.dgvOutput.Rows[index].Cells["Continue"].Value = "-->";
 | ||
|                     }
 | ||
|                     if (Convert.ToDateTime(item.EndTime).ToString().Length > 0)
 | ||
|                     {
 | ||
|                         if (item.EndTime != item.BeginTime)
 | ||
|                         {
 | ||
|                             this.dgvOutput.Rows[index].Cells["EndTime"].Value = item.EndTime;
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
| 
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         private void dgvEvents_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
 | ||
|         {
 | ||
|             DataGridViewComboEditTipBoxCell nameCell;
 | ||
|             DataGridViewComboBoxCell unitCell;
 | ||
|             if (e == null)
 | ||
|             {
 | ||
|                 nameCell = dgvOutput.Rows[dgvOutput.Rows.Count - 1].Cells["OutputName"] as DataGridViewComboEditTipBoxCell;
 | ||
|                 unitCell = dgvOutput.Rows[dgvOutput.Rows.Count - 1].Cells["DoseUnit"] as DataGridViewComboBoxCell;
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 nameCell = dgvOutput.Rows[e.RowIndex].Cells["OutputName"] as DataGridViewComboEditTipBoxCell;
 | ||
|                 unitCell = dgvOutput.Rows[e.RowIndex].Cells["DoseUnit"] as DataGridViewComboBoxCell;
 | ||
|             }
 | ||
| 
 | ||
|             foreach (var item in _outputList)
 | ||
|             {
 | ||
|                 nameCell.Items.Add(item.Name);
 | ||
|             }
 | ||
| 
 | ||
|             unitCell.DataSource = _unitList;
 | ||
|             unitCell.DisplayMember = "Name";
 | ||
|             unitCell.ValueMember = "Name";
 | ||
|         }
 | ||
| 
 | ||
|         private void dgvOutput_CellClick(object sender, DataGridViewCellEventArgs e)
 | ||
|         {
 | ||
|             if (dgvOutput.CurrentCell != null)
 | ||
|             {
 | ||
|                 if (LastColumnIndex == 1 && dgvOutput.CurrentCell.ColumnIndex != 1)
 | ||
|                 {
 | ||
|                     if (dgvOutput.CurrentCell.ColumnIndex == 3)
 | ||
|                     {
 | ||
|                         dgvOutput.CurrentCell = dgvOutput.CurrentRow.Cells[2];
 | ||
|                         dgvOutput.BeginEdit(true);
 | ||
|                     }
 | ||
|                 }
 | ||
|                 LastColumnIndex = dgvOutput.CurrentCell.ColumnIndex;
 | ||
| 
 | ||
|                 //点击开始时间时显示时间
 | ||
|                 if (dgvOutput.CurrentCell.ColumnIndex == 4 && dgvOutput.CurrentCell.EditedFormattedValue.ToString() == "")
 | ||
|                 {
 | ||
|                     dgvOutput.CurrentCell.Value = DateTime.Now;
 | ||
|                     SendKeys.Send("{Tab}");
 | ||
|                 }
 | ||
|                 //点击Sign列时显示持续事件标记
 | ||
|                 if (dgvOutput.CurrentCell.ColumnIndex == 5)
 | ||
|                 {
 | ||
|                     if (dgvOutput.CurrentCell.EditedFormattedValue.ToString() == "" && dgvOutput.CurrentRow.Cells["BeginTime"].EditedFormattedValue.ToString() != "")
 | ||
|                     {
 | ||
|                         dgvOutput.CurrentCell.Value = "-->";
 | ||
|                         btnSave.Focus();
 | ||
|                         SendKeys.Send("{Tab}");
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         dgvOutput.CurrentCell.Value = "";
 | ||
|                         dgvOutput.CurrentRow.Cells["EndTime"].Value = "";
 | ||
|                         btnSave.Focus();
 | ||
|                     }
 | ||
|                 }
 | ||
|                 //点击结束时间时判断是否持续事件,并显示时间
 | ||
|                 if (dgvOutput.CurrentCell.ColumnIndex == 6)
 | ||
|                 {
 | ||
|                     if (dgvOutput.CurrentRow.Cells[5].EditedFormattedValue.ToString() != "" && dgvOutput.CurrentCell.EditedFormattedValue.ToString() == "")
 | ||
|                     {
 | ||
|                         dgvOutput.CurrentCell.Value = DateTime.Now;
 | ||
|                         btnSave.Focus();
 | ||
|                         //SendKeys.Send("{Tab}");
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|         private bool ValidTimeTxt(string dgvTimeTxt, ref string message)
 | ||
|         {
 | ||
|             bool k = true;
 | ||
|             if (dgvTimeTxt == "")
 | ||
|             {
 | ||
|                 return k;
 | ||
|             }
 | ||
|             if (!dgvTimeTxt.Contains("-") || !dgvTimeTxt.Contains(":") || !dgvTimeTxt.Contains(" "))
 | ||
|             {
 | ||
|                 return false;
 | ||
|             }
 | ||
|             if (dgvTimeTxt.IndexOf("-") < 1 || dgvTimeTxt.IndexOf(":") < 1 || dgvTimeTxt.IndexOf(" ") < 1)
 | ||
|             {
 | ||
|                 return false;
 | ||
|             }
 | ||
|             try
 | ||
|             {
 | ||
|                 string[] ym = dgvTimeTxt.Split(' ');
 | ||
|                 string[] sym = ym[0].Split('-');
 | ||
|                 string[] hm = ym[1].Split(':');
 | ||
|                 int month = Convert.ToInt16(sym[0]);
 | ||
|                 int day = Convert.ToInt16(sym[1]);
 | ||
|                 int hh = Convert.ToInt16(hm[0]);
 | ||
|                 int mm = Convert.ToInt16(hm[1]);
 | ||
|                 if (month > 12 || month < 0)
 | ||
|                 {
 | ||
|                     k = false;
 | ||
|                     message = "请填写正确的月份(1-12)";
 | ||
|                 }
 | ||
|                 if (day > 31 || day < 0)
 | ||
|                 {
 | ||
|                     k = false;
 | ||
|                     message = "请填写正确的日期(1-31)";
 | ||
|                 }
 | ||
|                 if (hh > 23 || hh < 0)
 | ||
|                 {
 | ||
|                     k = false;
 | ||
|                     message = "请填写正确的小时(0-23)";
 | ||
|                 }
 | ||
|                 if (mm > 59 || hh < 0)
 | ||
|                 {
 | ||
|                     k = false;
 | ||
|                     message = "请填写正确的小时(0-59)";
 | ||
|                 }
 | ||
|             }
 | ||
|             catch
 | ||
|             {
 | ||
|                 k = false;
 | ||
|             }
 | ||
|             return k;
 | ||
|         }
 | ||
| 
 | ||
|         private void btnDelete_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (dgvOutput.CurrentRow != null)
 | ||
|             {
 | ||
|                 if (dgvOutput.CurrentRow.Tag != null)
 | ||
|                 {
 | ||
|                     int id = Convert.ToInt32(dgvOutput.CurrentRow.Tag);
 | ||
|                     FactOutputLiquids er = _record.FactOutputLiquidsList.Where(b => b.Id == id).ToList()[0];
 | ||
|                     //er.IsValid = 0;
 | ||
|                     BFactOutputLiquids.Delete(er);
 | ||
|                     er.clearAddObj(zgcAnaesRecord);
 | ||
|                     _record.FactOutputLiquidsList.Remove(er);
 | ||
|                     OutParam(); 
 | ||
|                     dgvOutput.Rows.Remove(dgvOutput.CurrentRow);
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     if (dgvOutput.CurrentRow.Cells["OutputName"].Value != null)
 | ||
|                     {
 | ||
|                         dgvOutput.Rows.Remove(dgvOutput.CurrentRow);
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         private void btnSave_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             #region 保存时验证
 | ||
|             foreach (DataGridViewRow dr in dgvOutput.Rows)
 | ||
|             {
 | ||
|                 if (dr.Cells[1].EditedFormattedValue.ToString() != "" && dr.Cells[2].EditedFormattedValue.ToString() != "")
 | ||
|                 {
 | ||
|                     if (dr.Cells["DoseUnit"].EditedFormattedValue.ToString() == "")
 | ||
|                     {
 | ||
|                         MessageBox.Show("保存失败!\n\r" + "请输入:" + dr.Cells[0].EditedFormattedValue.ToString() + ":" + dr.Cells["OutputName"].EditedFormattedValue.ToString() + "的计量单位!");
 | ||
|                         dgvOutput.CurrentCell = dr.Cells["DoseUnit"];
 | ||
|                         dgvOutput.BeginEdit(true);
 | ||
|                         return;
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|             #endregion  
 | ||
|             foreach (DataGridViewRow dr in dgvOutput.Rows)
 | ||
|             {
 | ||
|                 if (dr.Cells["OutputName"].EditedFormattedValue.ToString() == "" || dr.Cells["Dose"].EditedFormattedValue.ToString() == "")
 | ||
|                 {
 | ||
|                     continue;
 | ||
|                 }
 | ||
|                 string OutputName = dr.Cells["OutputName"].EditedFormattedValue.ToString().Trim();
 | ||
|                 int outId = 0;
 | ||
|                 OutputLiquids OutputLiquidsRef = null;
 | ||
|                 OutputLiquidsRef = BOutputLiquids.SelectSingle(" Name='" + OutputName + "'", null, RecursiveType.None, 0);
 | ||
|                 if (OutputLiquidsRef == null)
 | ||
|                 {
 | ||
|                     OutputLiquidsRef = new OutputLiquids();
 | ||
|                     OutputLiquidsRef.Name = OutputName;
 | ||
|                     OutputLiquidsRef.HelpCode = PublicMethod.GetFirstLetter(OutputName);
 | ||
|                     OutputLiquidsRef.IsValid = 1;
 | ||
|                     OutputLiquidsRef.OperatorNo = PublicMethod.OperatorNo;
 | ||
|                     OutputLiquidsRef.OperateDate = DateTime.Now;
 | ||
|                     OutputLiquidsRef.Id = BOutputLiquids.Insert(OutputLiquidsRef);
 | ||
|                 }
 | ||
|                 outId = OutputLiquidsRef.Id.Value;
 | ||
|                 //实例化OutputLiquids对象
 | ||
|                 FactOutputLiquids liquids = new FactOutputLiquids();
 | ||
|                 liquids.OutputLiquidsName = OutputName;
 | ||
|                 liquids.PatientId = _record.PatientId.Value;
 | ||
|                 liquids.OutputLiquidsId = outId;
 | ||
|                 liquids.OutputLiquidsTypeId = OutputLiquidTypeId;
 | ||
|                 liquids.Dosage = Convert.ToDecimal(dr.Cells["Dose"].Value);
 | ||
|                 liquids.DosageUnit = dr.Cells["DoseUnit"].EditedFormattedValue.ToString();
 | ||
| 
 | ||
|                 if (dr.Cells["BeginTime"].EditedFormattedValue.ToString() != "")
 | ||
|                 {
 | ||
|                     liquids.BeginTime = Convert.ToDateTime(dr.Cells["BeginTime"].Value.ToString());
 | ||
|                 }
 | ||
|                 liquids.EndTime = dr.Cells["EndTime"].EditedFormattedValue.ToString() != "" ? Convert.ToDateTime(dr.Cells["EndTime"].Value.ToString()) : liquids.BeginTime;
 | ||
|                 liquids.IsContinue = dr.Cells["Continue"].EditedFormattedValue.ToString() != "" ? 1 : 0;
 | ||
|                 liquids.Remark = dr.Cells["Remark"].EditedFormattedValue.ToString();
 | ||
|                 liquids.OperatorNo = PublicMethod.OperatorNo;
 | ||
|                 liquids.OperatorName = PublicMethod.OperatorName;
 | ||
|                 liquids.OperateDate = DateTime.Now;
 | ||
|                 if (dr.Tag == null)
 | ||
|                 {
 | ||
|                     ////将事件对象保存到集合
 | ||
|                     int id = BFactOutputLiquids.Insert(liquids);
 | ||
|                     liquids.Id = id;
 | ||
|                     _record.FactOutputLiquidsList.Add(liquids);
 | ||
|                     //将新增的事件Id保存到Row
 | ||
|                     dr.Tag = id;
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     liquids.Id = Convert.ToInt32(dr.Tag);
 | ||
|                     //将修改的事件保存到集合
 | ||
|                     foreach (FactOutputLiquids eventRecord in _record.FactOutputLiquidsList)
 | ||
|                     {
 | ||
|                         if (eventRecord.Id == liquids.Id)
 | ||
|                         {
 | ||
|                             //eventRecord.clearAddObj(zgcAnaesRecord);
 | ||
|                             _record.FactOutputLiquidsList.Remove(eventRecord);
 | ||
|                             _record.FactOutputLiquidsList.Add(liquids);
 | ||
|                             break;
 | ||
|                         }
 | ||
|                     }
 | ||
|                     //修改时间对象
 | ||
|                     BFactOutputLiquids.Update(liquids);
 | ||
|                 }
 | ||
|             }
 | ||
|             OutParam();
 | ||
|             new frmMessageBox().Show();
 | ||
|             //this.Close(); 
 | ||
|         }
 | ||
|         #region DataGridView数字单元格验证 GZ
 | ||
|         public DataGridViewTextBoxEditingControl dgvTxt = null; // 声明 一个文本 CellEdit
 | ||
|         private void dgvOutput_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
 | ||
|         {
 | ||
|             //判断类型
 | ||
|             if (dgvOutput.CurrentRow.Index != -1 && dgvOutput.CurrentCell.ColumnIndex == 1)
 | ||
|             {
 | ||
|                 ComboBox comboBox = (ComboBox)e.Control;
 | ||
|                 comboBox.SelectedIndexChanged -= new EventHandler(dgvComboBox_SelectedIndexChanged);
 | ||
|                 comboBox.SelectedIndexChanged += new EventHandler(dgvComboBox_SelectedIndexChanged);
 | ||
|             }
 | ||
|             if (dgvTxt != null && (dgvOutput.CurrentCell.ColumnIndex == 4))
 | ||
|             {
 | ||
|                 dgvTxt.KeyPress -= new KeyPressEventHandler(dgvTxt_KeyPress); // 绑定事件
 | ||
|             }
 | ||
|             if (dgvTxt != null && (dgvOutput.CurrentCell.ColumnIndex == 7))
 | ||
|             {
 | ||
|                 dgvTxt = (DataGridViewTextBoxEditingControl)e.Control; // 得到单元格
 | ||
|                 dgvTxt.KeyPress -= new KeyPressEventHandler(dgvTxt_KeyPress); // 绑定事件
 | ||
|             }
 | ||
|             if (dgvOutput.CurrentCell.ColumnIndex == 2)
 | ||
|             {
 | ||
|                 dgvTxt = (DataGridViewTextBoxEditingControl)e.Control; // 得到单元格
 | ||
|                 dgvTxt.KeyPress -= new KeyPressEventHandler(dgvTxt_KeyPress); // 绑定事件
 | ||
|                 dgvTxt.KeyPress += new KeyPressEventHandler(dgvTxt_KeyPress); // 绑定事件
 | ||
|                 if (dgvOutput.CurrentRow.Cells[4].Value == null || dgvOutput.CurrentRow.Cells[4].Value.ToString() == "")
 | ||
|                 {
 | ||
|                     dgvOutput.CurrentRow.Cells[4].Value = DateTime.Now;
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|             if (e.Control.GetType().Equals(typeof(DevComponents.DotNetBar.Controls.DataGridViewDateTimeInputEditingControl)))
 | ||
|                 ((DevComponents.DotNetBar.Controls.DataGridViewDateTimeInputEditingControl)e.Control).DateTimeSelectorVisibility = DevComponents.Editors.DateTimeAdv.eDateTimeSelectorVisibility.DateSelector;
 | ||
|         }
 | ||
|         /// <summary>
 | ||
|         /// DataGridViewComboBoxCell单元格改变选择的事件
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         void dgvComboBox_SelectedIndexChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             //ComboBox cbo = (ComboBox)sender;
 | ||
|             //if (cbo.SelectedIndex > 0)
 | ||
|             //{
 | ||
|             //    if (cbo.SelectedValue is OutputLiquids)
 | ||
|             //    {
 | ||
|             //        dgvOutput.CurrentCell.Tag = ((OutputLiquids)cbo.SelectedValue).Id;
 | ||
|             //    }
 | ||
|             //    else
 | ||
|             //    {
 | ||
|             //        dgvOutput.CurrentCell.Tag = cbo.SelectedValue;
 | ||
|             //    }
 | ||
|             //    //dgvOutput.CurrentCell.Tag = cbo.SelectedValue;
 | ||
|             //    OutputLiquids ot = BOutputLiquids.SelectSingle(Convert.ToInt32(dgvOutput.CurrentCell.Tag));
 | ||
|             //    #region 增加常用出量后取消此功能 20160816 GZ
 | ||
|             //    //dgvOutput.CurrentRow.Cells["DoseUnit"].Value = BBasicDictionary.SelectSingle(" Id=(select Id from BasicDictionary where Explain='剂量' and IsValid=1 and Name = '" + ot.Unit + "')", null).Id;
 | ||
|             //    //dgvOutput.CurrentRow.Cells["BeginTime"].Value = PublicMethod.ServerTime().ToString("MM-dd HH:mm");
 | ||
|             //    #endregion
 | ||
|             //}
 | ||
|         }
 | ||
|         void dgvTxt_KeyPress(object sender, KeyPressEventArgs e)
 | ||
|         {
 | ||
|             if (dgvOutput.CurrentRow.Cells[1].EditedFormattedValue.ToString() == "")
 | ||
|             {
 | ||
|                 e.Handled = true;
 | ||
|                 return;
 | ||
|             }
 | ||
|             if (e.KeyChar < 48 || e.KeyChar > 57)
 | ||
|             {
 | ||
|                 if (e.KeyChar != 46 && e.KeyChar != 8 && e.KeyChar != 13)
 | ||
|                 {
 | ||
|                     e.Handled = true;
 | ||
|                 }
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 try
 | ||
|                 {
 | ||
|                     dgvOutput.CurrentRow.Cells["DoseUnit"].Value = "ml";
 | ||
|                     if (dgvOutput.CurrentRow.Cells["BeginTime"].EditedFormattedValue.ToString() == "")
 | ||
|                     {
 | ||
|                         dgvOutput.CurrentRow.Cells["BeginTime"].Value = DateTime.Now;
 | ||
|                     }
 | ||
|                 }
 | ||
|                 catch (Exception)
 | ||
|                 {
 | ||
|                 }
 | ||
|             }
 | ||
|             if (e.KeyChar == 8 || e.KeyChar == 46)
 | ||
|             {
 | ||
|                 return;
 | ||
|             }
 | ||
|             TextBox tb = sender as TextBox;
 | ||
|             int n = tb.Text.IndexOf(".");
 | ||
|             if (n < 0)
 | ||
|             {
 | ||
|                 if (tb.Text.Length > 5)
 | ||
|                 {
 | ||
|                     e.Handled = true;
 | ||
|                 }
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 if (tb.Text.Substring(n).Length > 2)
 | ||
|                 {
 | ||
|                     e.Handled = true;
 | ||
|                 }
 | ||
|                 if (n > 6)
 | ||
|                 {
 | ||
|                     e.Handled = true;
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         private void frmFactOutputLiquidsNew_FormClosing(object sender, FormClosingEventArgs e)
 | ||
|         {
 | ||
|             //List<OutputLiquids> UpdateRecordList = GetEventsList();
 | ||
|             //if (UpdateRecordList.Count > 0)
 | ||
|             //{
 | ||
|             //    DialogResult dialogResult = MessageBox.Show("记录尚未保存,是否保存当前记录?", "系统提示", MessageBoxButtons.YesNo);
 | ||
|             //    if (dialogResult == DialogResult.Yes)
 | ||
|             //    {
 | ||
|             //        btnSave_Click(null, null);
 | ||
|             //    }
 | ||
|             //}
 | ||
|             ////this.Hide();
 | ||
|             ////e.Cancel = true;
 | ||
|         }
 | ||
| 
 | ||
|         public bool equelEvents(FactOutputLiquids oldDrug, FactOutputLiquids newDrug)
 | ||
|         {
 | ||
|             bool b = true;
 | ||
|             if (oldDrug.Remark != newDrug.Remark) b = false;
 | ||
|             if (oldDrug.Dosage != newDrug.Dosage) b = false;
 | ||
|             if (oldDrug.BeginTime != null && newDrug.BeginTime != null && oldDrug.BeginTime.ToString("yyyy-MM-dd HH:mm") != newDrug.BeginTime.ToString("yyyy-MM-dd HH:mm")) b = false;
 | ||
|             if (oldDrug.EndTime != newDrug.EndTime && oldDrug.EndTime.ToString("HH:mm") != newDrug.EndTime.ToString("HH:mm")) b = false;
 | ||
|             return b;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 当前单元格内容发生改变时,将改变提交
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         private void dgvDrugs_CurrentCellDirtyStateChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (dgvOutput.IsCurrentCellDirty)
 | ||
|             {
 | ||
|                 dgvOutput.CommitEdit(DataGridViewDataErrorContexts.Commit);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         private void dgvOutput_DataError(object sender, DataGridViewDataErrorEventArgs e)
 | ||
|         {
 | ||
|             if (e.Exception.Message == "DataGridViewComboBoxCell 值无效。")
 | ||
|             {
 | ||
|                 //try
 | ||
|                 //{
 | ||
|                 //    object value = _dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
 | ||
|                 //    if (!((DataGridViewComboBoxCell)_dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex]).Items.Contains(value))
 | ||
|                 //    {
 | ||
|                 //        ((DataGridViewComboBoxCell)_dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex]).Items.Add(value);
 | ||
|                 //        e.ThrowException = false;
 | ||
|                 //    }
 | ||
|                 //}
 | ||
|                 //catch (Exception)
 | ||
|                 //{
 | ||
|                 //    e.ThrowException = false;
 | ||
|                 //}
 | ||
| 
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         private void panel2_Paint(object sender, PaintEventArgs e)
 | ||
|         {
 | ||
| 
 | ||
|         }
 | ||
|     }
 | ||
| }
 |