private void btnDeleteItem_Click(object sender, EventArgs e) { if (dgMonitorEditorView.SelectedColumns.Count > 0 && dgMonitorEditorView.CurrentRow.Index >= 0) { if (MessageBoxFormPC.Show("真的要删除所选列的数据吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { bool result = false; NewMonitorData monitorData = new NewMonitorData(_patientID, _visitID, _operID, _eventNo, ExtendApplicationContext.Current.LoginUser.USER_JOB_ID); for (int i = 0; i < dgMonitorEditorView.SelectedColumns.Count; i++) { string code = ((DataTable)dgMonitorEditorView.DataSource).Columns[dgMonitorEditorView.SelectedColumns[i].Index].Caption; if (monitorData.Delete(code)) { result = true; } } if (result) { _dataChanged = true; GetVitalSignDataTable(); if (SignVitalSaveClicked != null) { SignVitalSaveClicked(this, EventArgs.Empty); } } } } }
private void btnOK_Click(object sender, EventArgs e) { try { if (dateEdit1.DateTime > dateEdit2.DateTime) { MessageBoxFormPC.Show("开始时间不能大于结束时间", MessageBoxIcon.Information); return; } if (((TimeSpan)(dateEdit2.DateTime - dateEdit1.DateTime)).TotalHours > 8) { MessageBoxFormPC.Show("每次添加体征数据的时间区域请保持在8小时以内!", MessageBoxIcon.Information); return; } NewMonitorData newMonitorData = new NewMonitorData(_patientID, _visitID, _operID, _eventNo, ExtendApplicationContext.Current.LoginUser.USER_JOB_ID); DateTime dt = DateTimeEqual(dateEdit1.DateTime); dt = new DateTime(dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, 0); while (dt <= dateEdit2.DateTime) { List <MED_VITAL_SIGN> vitalSignDataTable = new OperationVitalSignRepository().GetVitalSignData(_patientID, _visitID, _operID, _eventNo, false); //int index = _items.Count - 1; foreach (Control control in Controls) { if (control is MedTextBox && !control.Equals(txtInterval)) { string text = (control as MedTextBox).Text; string oldvalue = "0"; string itemName = ""; if (vitalSignDataTable != null && vitalSignDataTable.Count > 0) { foreach (MED_VITAL_SIGN row in vitalSignDataTable) { if (dt == row.TIME_POINT && (control as MedTextBox).Tag.ToString() == row.ITEM_CODE) { oldvalue = row.ITEM_VALUE.ToString(); } } } itemName = ExtendApplicationContext.Current.MonitorFunctionCodeDict.ContainsKey((control as MedTextBox).Tag.ToString()) ? ExtendApplicationContext.Current.MonitorFunctionCodeDict[(control as MedTextBox).Tag.ToString()] : (control as MedTextBox).Tag.ToString(); if (!string.IsNullOrEmpty(text)) { newMonitorData.SetItem(dt, itemName, text, oldvalue, (control as MedTextBox).Tag.ToString()); } } } dt = dt.AddSeconds(double.Parse(txtInterval.Text)); } newMonitorData.Save(); _result = DialogResult.OK; ParentForm.DialogResult = DialogResult.OK; } catch (Exception ex) { Dialog.MessageBox(ex.Message, MessageBoxIcon.Information); _result = DialogResult.None; } }
private void dgMonitorEditorView_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Back) { if (dgMonitorEditorView.CurrentRow != null && dgMonitorEditorView.CurrentRow.Index >= 0) { if (MessageBoxFormPC.Show("真的要删当前体征项目吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { NewMonitorData monitorData = new NewMonitorData(_patientID, _visitID, _operID, _eventNo, ExtendApplicationContext.Current.LoginUser.USER_JOB_ID); int columnsIndex = dgMonitorEditorView.CurrentCell.ColumnIndex; DateTime timePoint = DateTime.Parse(((DataTable)dgMonitorEditorView.DataSource).Rows[dgMonitorEditorView.CurrentCell.RowIndex][0].ToString()); // DateTime timePoint = DateTime.Parse(((DataTable)dgMonitorEditorView.DataSource).Columns[columnsIndex].Caption); if (!string.IsNullOrEmpty(dgMonitorEditorView.CurrentCell.Value.ToString())) { if (monitorData.Delete(timePoint, ((DataTable)dgMonitorEditorView.DataSource).Columns[columnsIndex].Caption, ((DataTable)dgMonitorEditorView.DataSource).Columns[columnsIndex].ColumnName.ToString(), dgMonitorEditorView.CurrentCell.Value.ToString())) { GetVitalSignDataTable(); this.dgMonitorEditorView.CurrentCell = this.dgMonitorEditorView.Rows[0].Cells[columnsIndex]; } } } } } }
public void GetVitalSignDataTable() { vitalSignDataTable = new OperationVitalSignRepository().GetVitalSignData(_patientID, _visitID, _operID, _eventNo, false); //List<string> itemNames = new List<string>(); controlWidth = this.Width; controlHeight = 0; if (vitalSignDataTable != null && vitalSignDataTable.Count > 0) { _vitalSignTable = new DataTable(); _vitalSignTable.Columns.Add("实际时间"); _vitalSignTable.Columns.Add("时间"); DateTime vStartTime = vitalSignDataTable[0].TIME_POINT; DateTime vEndTime = vitalSignDataTable[vitalSignDataTable.Count - 1].TIME_POINT; DataRow dtRow; Dictionary <string, int> rowDict = new Dictionary <string, int>(); if (vStartTime.Minute % 5 != 0) { string columnName = vStartTime.ToString("HH:mm"); if (!rowDict.ContainsKey(columnName)) { rowDict.Add(columnName, _vitalSignTable.Rows.Count); } dtRow = _vitalSignTable.NewRow(); dtRow[0] = vStartTime.ToString("yyyy-MM-dd HH:mm"); dtRow[1] = columnName; _vitalSignTable.Rows.Add(dtRow); vStartTime = DateTimeEqual(vStartTime); } while (vStartTime <= vEndTime) { string columnName = vStartTime.ToString("HH:mm"); if (!rowDict.ContainsKey(columnName)) { rowDict.Add(columnName, _vitalSignTable.Rows.Count); } dtRow = _vitalSignTable.NewRow(); dtRow[0] = vStartTime.ToString("yyyy-MM-dd HH:mm"); dtRow[1] = columnName; _vitalSignTable.Rows.Add(dtRow); vStartTime = vStartTime.AddMinutes(5); } string[] list = ExtendApplicationContext.Current.DefaultMonitorItems.Split(','); string[] items = new OperationVitalSignRepository().GetVitalSignTitles(_patientID, _visitID, _operID, _eventNo); //新增默认体征项目 if (items != null) { List <string> itemList = new List <string>(); foreach (string item in list) { if (!itemList.Contains(item.Trim())) { itemList.Add(item); } } if (items.Length > 0) { foreach (string item in items) { if (!itemList.Contains(item.Trim())) { itemList.Add(item); } } } list = itemList.ToArray(); } //End Add foreach (string s in list) { if (!string.IsNullOrEmpty(s)) { string columnName = ExtendApplicationContext.Current.MonitorFunctionCodeDict.ContainsKey(s) ? ExtendApplicationContext.Current.MonitorFunctionCodeDict[s] : s; DataColumn column = new DataColumn(columnName, typeof(string)); column.Caption = s; //if (_vitalSignTable.Columns..Contains(column)) //{ //} //else _vitalSignTable.Columns.Add(column); } } vitalSignDataTable.ForEach(row => { string columnName = row.TIME_POINT.ToString("HH:mm"); for (int i = 2; i < _vitalSignTable.Columns.Count; i++) { DataColumn column = _vitalSignTable.Columns[i]; if (row.ITEM_CODE == column.Caption) { if (rowDict.ContainsKey(columnName)) { _vitalSignTable.Rows[rowDict[columnName]][i] = row.ITEM_VALUE; break; } } } }); dgMonitorEditorView.DataSource = _vitalSignTable; for (int i = 2; i < dgMonitorEditorView.ColumnCount; i++) { DataGridViewColumn column = dgMonitorEditorView.Columns[i]; column.AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; column.ToolTipText = _vitalSignTable.Columns[i].Caption; } dgMonitorEditorView.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dgMonitorEditorView.Columns[0].ReadOnly = true; dgMonitorEditorView.Columns[0].Frozen = true; dgMonitorEditorView.Columns[0].Visible = false; dgMonitorEditorView.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dgMonitorEditorView.Columns[1].ReadOnly = true; dgMonitorEditorView.Columns[1].Frozen = true; } else { _vitalSignTable = new DataTable(); _vitalSignTable.Columns.Add("实际时间"); _vitalSignTable.Columns.Add("时间"); string[] items = ExtendApplicationContext.Current.DefaultMonitorItems.Split(','); // string[] items = new OperationVitalSignService().GetVitalSignTitles(_patientID, _visitID, _operID, _eventNo); if (_eventNo == "1" && ExtendApplicationContext.Current.CustomSettingContext.IsAddPacuSpecialItems)//复苏项 { if (items != null) { string[] itemsCopy = new string[items.Length + 2]; itemsCopy[0] = "50008"; itemsCopy[1] = "50009"; for (int i = 0; i < items.Length; i++) { itemsCopy[i + 2] = items[i]; } items = itemsCopy; } } if (items != null && items.Length > 0) { for (int i = 0; i < items.Length; i++) { string columnName = ExtendApplicationContext.Current.MonitorFunctionCodeDict.ContainsKey(items[i]) ? ExtendApplicationContext.Current.MonitorFunctionCodeDict[items[i]] : items[i]; DataColumn column = new DataColumn(columnName, typeof(string)); column.Caption = items[i]; _vitalSignTable.Columns.Add(column); } dgMonitorEditorView.DataSource = _vitalSignTable; dgMonitorEditorView.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dgMonitorEditorView.Columns[0].ReadOnly = true; dgMonitorEditorView.Columns[0].Visible = false; dgMonitorEditorView.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells; dgMonitorEditorView.Columns[1].ReadOnly = true; } } _newMonitorData = new NewMonitorData(_patientID, _visitID, _operID, _eventNo, ExtendApplicationContext.Current.LoginUser.USER_JOB_ID); if (dgMonitorEditorView.Height < 50) { dgMonitorEditorView.Height = 200; } }