private void btnDelete_Click(object sender, EventArgs e) { int[] selectedRows = gridView.GetSelectedRows(); if (selectedRows.Length == 0) { XtraMessageBox.Show("请至少选中一条记录", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } if (DialogResult.Yes != XtraMessageBox.Show("确定要删除选中的记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { return; } List <long> ids = new List <long>(); foreach (int selectedRow in selectedRows) { long id = (long)gridView.GetRowCellValue(selectedRow, "Id"); ids.Add(id); String date = (String)gridView.GetRowCellValue(selectedRow, "Time"); DelectDir(String.Format("./Log/{0}", DateTime.Parse(date).ToString("yyyyMMddHHmmss"))); } using (DataModels.DatabaseDB db = new DataModels.DatabaseDB()) { db.TestInfos.Delete(item => ids.Contains(item.Id)); db.CommitTransaction(); } gridView.DeleteSelectedRows(); }
private void SimpleButton_Click(object sender, RoutedEventArgs e) { List <int> checkedRows = gridControl.GetSelectedRowHandles().ToList(); checkedRows = checkedRows.OrderByDescending(x => x).ToList(); List <long> ids = new List <long>(); foreach (int rowNum in checkedRows) { ids.Add((long)gridControl.GetCellValue(rowNum, "Id")); String date = (String)gridControl.GetCellValue(rowNum, "Time"); DelectDir(String.Format("./Log/{0}", DateTime.Parse(date).ToString("yyyyMMddHHmmssfff"))); } using (DataModels.DatabaseDB db = new DataModels.DatabaseDB()) { db.TestInfos.Delete(item => ids.Contains(item.Id)); db.CommitTransaction(); } tableView.BeginInit(); foreach (int rowNum in checkedRows) { tableView.DeleteRow(rowNum); } tableView.EndInit(); }
private void gridControl_MouseDoubleClick(object sender, MouseButtonEventArgs e) { TableViewHitInfo hInfo = tableView.CalcHitInfo(e.GetPosition(tableView)); if (hInfo.InRow) { int rowNum = hInfo.RowHandle; long id = (long)gridControl.GetCellValue(rowNum, "Id"); TestInfo testInfo = null; using (DataModels.DatabaseDB db = new DataModels.DatabaseDB()) { var temp = from c in db.TestInfos where c.Id == id select c; foreach (DataModels.TestInfo info in temp) { testInfo = new TestInfo { TestName = info.TestName, Operator = info.Operator, TestTime = info.Time, Comment = info.Comment }; } } if (testInfo != null) { HistoryDetailWindow detailWindow = new HistoryDetailWindow(testInfo); detailWindow.Owner = this; detailWindow.ShowDialog(); } } }
private void HistoryForm_Load(object sender, EventArgs e) { dt.Columns.Add("TestName", typeof(String)); dt.Columns.Add("Operator", typeof(String)); dt.Columns.Add("Time", typeof(String)); dt.Columns.Add("Comment", typeof(String)); dt.Columns.Add("Id", typeof(long)); using (DataModels.DatabaseDB db = new DataModels.DatabaseDB()) { var temp = from c in db.TestInfos select c; foreach (DataModels.TestInfo info in temp) { dt.Rows.Add(info.TestName, info.Operator, info.Time.ToString("yyyy-MM-dd HH:mm:ss"), info.Comment, info.Id); } } gridControl.DataSource = dt; }
protected void LoadHistoryData() { dt.Columns.Add("TestName", typeof(String)); dt.Columns.Add("Operator", typeof(String)); dt.Columns.Add("Time", typeof(String)); dt.Columns.Add("Comment", typeof(String)); dt.Columns.Add("Id", typeof(long)); using (DataModels.DatabaseDB db = new DataModels.DatabaseDB()) { var temp = from c in db.TestInfos select c; foreach (DataModels.TestInfo info in temp) { dt.Rows.Add(info.TestName, info.Operator, info.Time.ToString("yyyy-MM-dd HH:mm:ss"), info.Comment, info.Id); } } gridControl.ItemsSource = dt; }
private void LoadTestInfo() { using (DataModels.DatabaseDB db = new DataModels.DatabaseDB()) { var temp = from c in db.TestInfos where c.Id == recordId select c; DataModels.TestInfo testInfo = null; foreach (DataModels.TestInfo info in temp) { testInfo = info; } editTestName.Text = testInfo?.TestName; editOperator.Text = testInfo?.Operator; editTestDate.Text = testInfo?.Time.ToString("yyyy-MM-dd HH:mm:ss"); editComment.Text = testInfo?.Comment; String strDateFile = @".\Log\" + testInfo?.Time.ToString("yyyyMMddHHmmss") + @"\History.dat"; try { using (FileStream fs = new FileStream(strDateFile, FileMode.Open)) { BinaryFormatter formatter = new BinaryFormatter(); historyData = (HistoryData)formatter.Deserialize(fs); } } catch (Exception ex) { XtraMessageBox.Show("读取历史数据失败:" + ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (historyData == null || historyData.Objects == null || historyData.Objects.Count == 0) { return; } List <SeriesPoint> positionXBuffer = new List <SeriesPoint>(); List <SeriesPoint> positionMinXBuffer = new List <SeriesPoint>(); List <SeriesPoint> positionMaxXBuffer = new List <SeriesPoint>(); List <SeriesPoint> positionYBuffer = new List <SeriesPoint>(); List <SeriesPoint> positionMinYBuffer = new List <SeriesPoint>(); List <SeriesPoint> positionMaxYBuffer = new List <SeriesPoint>(); List <SeriesPoint> positionZBuffer = new List <SeriesPoint>(); List <SeriesPoint> positionMinZBuffer = new List <SeriesPoint>(); List <SeriesPoint> positionMaxZBuffer = new List <SeriesPoint>(); List <SeriesPoint> speedVxBuffer = new List <SeriesPoint>(); List <SeriesPoint> speedMinVxBuffer = new List <SeriesPoint>(); List <SeriesPoint> speedMaxVxBuffer = new List <SeriesPoint>(); List <SeriesPoint> speedVyBuffer = new List <SeriesPoint>(); List <SeriesPoint> speedMinVyBuffer = new List <SeriesPoint>(); List <SeriesPoint> speedMaxVyBuffer = new List <SeriesPoint>(); List <SeriesPoint> speedVzBuffer = new List <SeriesPoint>(); List <SeriesPoint> speedMinVzBuffer = new List <SeriesPoint>(); List <SeriesPoint> speedMaxVzBuffer = new List <SeriesPoint>(); foreach (S_OBJECT obj in historyData.Objects) { positionXBuffer.Add(new SeriesPoint(obj.time, obj.X)); positionMinXBuffer.Add(new SeriesPoint(obj.time, obj.MinX)); positionMaxXBuffer.Add(new SeriesPoint(obj.time, obj.MaxX)); positionYBuffer.Add(new SeriesPoint(obj.time, obj.Y)); positionMinYBuffer.Add(new SeriesPoint(obj.time, obj.MinY)); positionMaxYBuffer.Add(new SeriesPoint(obj.time, obj.MaxY)); positionZBuffer.Add(new SeriesPoint(obj.time, obj.Z)); positionMinZBuffer.Add(new SeriesPoint(obj.time, obj.MinZ)); positionMaxZBuffer.Add(new SeriesPoint(obj.time, obj.MaxZ)); speedVxBuffer.Add(new SeriesPoint(obj.time, obj.VX)); speedMinVxBuffer.Add(new SeriesPoint(obj.time, obj.MinVx)); speedMaxVxBuffer.Add(new SeriesPoint(obj.time, obj.MaxVx)); speedVyBuffer.Add(new SeriesPoint(obj.time, obj.VY)); speedMinVyBuffer.Add(new SeriesPoint(obj.time, obj.MinVy)); speedMaxVyBuffer.Add(new SeriesPoint(obj.time, obj.MaxVy)); speedVzBuffer.Add(new SeriesPoint(obj.time, obj.VZ)); speedMinVzBuffer.Add(new SeriesPoint(obj.time, obj.MinVz)); speedMaxVzBuffer.Add(new SeriesPoint(obj.time, obj.MaxVz)); } chartX.BeginInit(); chartX.Series["位置X"].Points.AddRange(positionXBuffer.ToArray()); chartX.Series["位置X上限"].Points.AddRange(positionMaxXBuffer.ToArray()); chartX.Series["位置X下限"].Points.AddRange(positionMinXBuffer.ToArray()); chartX.EndInit(); chartY.BeginInit(); chartY.Series["位置Y"].Points.AddRange(positionYBuffer.ToArray()); chartY.Series["位置Y上限"].Points.AddRange(positionMaxYBuffer.ToArray()); chartY.Series["位置Y下限"].Points.AddRange(positionMinYBuffer.ToArray()); chartY.EndInit(); chartZ.BeginInit(); chartZ.Series["位置Z"].Points.AddRange(positionZBuffer.ToArray()); chartZ.Series["位置Z上限"].Points.AddRange(positionMaxZBuffer.ToArray()); chartZ.Series["位置Z下限"].Points.AddRange(positionMinZBuffer.ToArray()); chartZ.EndInit(); chartVx.BeginInit(); chartVx.Series["速度VX"].Points.AddRange(speedVxBuffer.ToArray()); chartVx.Series["速度VX上限"].Points.AddRange(speedMaxVxBuffer.ToArray()); chartVx.Series["速度VX下限"].Points.AddRange(speedMinVxBuffer.ToArray()); chartVx.EndInit(); chartVy.BeginInit(); chartVy.Series["速度VY"].Points.AddRange(speedVyBuffer.ToArray()); chartVy.Series["速度VY上限"].Points.AddRange(speedMaxVyBuffer.ToArray()); chartVy.Series["速度VY下限"].Points.AddRange(speedMinVyBuffer.ToArray()); chartVy.EndInit(); chartVz.BeginInit(); chartVz.Series["速度VZ"].Points.AddRange(speedVzBuffer.ToArray()); chartVz.Series["速度VZ上限"].Points.AddRange(speedMaxVzBuffer.ToArray()); chartVz.Series["速度VZ下限"].Points.AddRange(speedMinVzBuffer.ToArray()); chartVz.EndInit(); chartPoints.BeginInit(); FallPoint point = historyData.FallPoint; chartPoints.Series["预示落点"].Points.Clear(); chartPoints.Series["预示落点"].Points.Add(new SeriesPoint(point.x, point.y)); chartPoints.Series["落点误差"].Points.Add(new SeriesPoint(point.x - historyData.PointError, point.y + historyData.PointError, point.y - historyData.PointError)); chartPoints.Series["落点误差"].Points.Add(new SeriesPoint(point.x + historyData.PointError, point.y + historyData.PointError, point.y - historyData.PointError)); chartPoints.EndInit(); } }