private void listViewFromDB_MouseMove(object sender, MouseEventArgs e) { string model = modelComboBox.GetItemText(modelComboBox.SelectedItem); ListViewHitTestInfo info = listViewFromDB.HitTest(e.X, e.Y); if (mTooltip == null) { mTooltip = new ToolTip(); } if (mLastPos != e.Location) { if (info.Item != null && info.SubItem != null) { int columnindex = info.Item.SubItems.IndexOf(info.SubItem); string camera_position = info.Item.SubItems[4].Text; mTooltip.Show((BoundaryCheck.ViewBoundary(columnindex, model, camera_position)), info.Item.ListView, e.X, e.Y, 5000); } else { mTooltip.SetToolTip(listViewFromDB, string.Empty); } } mLastPos = e.Location; }
private void InitializeListViewData(List <List <decimal> > boundaries, ListView listView) { listView.View = View.Details; listView.GridLines = true; listView.HideSelection = true; if (listView.Columns.Count != 0) { listView.Columns.Clear(); } if (listView.Items.Count != 0) { listView.Items.Clear(); } if (maxBoundaries.Any()) { maxBoundaries.Clear(); } listView.Columns.Add("Kamery", -2, HorizontalAlignment.Left); if ((DataTableEntityList = da.GetDataTableData(model, camera_positions, starting_date, starting_time, ending_date, ending_time, "").ToList()) != null) { listView.Columns.Add("0 do max zakresu", -2, HorizontalAlignment.Left); if (andUpCheckBox.Checked && boundaryType == "maximal" && numericUpDown11.Value != 0) { List <decimal> tempList = new List <decimal> { numericUpDown10.Value, 100 }; boundaries.Add(tempList); } foreach (List <decimal> valBoundaries in boundaries) { listView.Columns.Add(valBoundaries[0].ToString() + " do " + valBoundaries[1].ToString(), -2, HorizontalAlignment.Left); if (listView.Items.Count != 0) { int camItemIndex = 0; foreach (string camPos in cameras) { boundaryDataTableEntityListCount = GetBoundaryEntityList(DataTableEntityList, btnName, valBoundaries, camPos); float percentage = (float)boundaryDataTableEntityListCount / (float)DataTableEntityList.Where(x => x.camera_position == camPos).Count() * 100; listView.Items[camItemIndex].SubItems.Add(Math.Round(percentage, 3).ToString() + "%"); camItemIndex++; } continue; } foreach (string camPos in cameras) { maxBoundary = BoundaryCheck.ReturnBoundary(model, btnName, camPos); maxBoundaries.Add(maxBoundary); ListViewItem item = new ListViewItem(camPos + " z zakresem: " + maxBoundary); List <decimal> correctBoundary = new List <decimal> { (decimal)minBoundary, (decimal)maxBoundary }; correctBoundaryDataTableEntityListCount = GetBoundaryEntityList(DataTableEntityList, btnName, correctBoundary, camPos); //List<List<float>> valBoundariesWithBoundaryForCurrentCamera = valBoundaries[0] = (decimal)maxBoundary; listView.Columns[2].Text = "od max zakresu do " + numericUpDown17.Value; boundaryDataTableEntityListCount = GetBoundaryEntityList(DataTableEntityList, btnName, valBoundaries, camPos); float percentageCorrect = (float)correctBoundaryDataTableEntityListCount / (float)DataTableEntityList.Where(x => x.camera_position == camPos).Count() * 100; float percentage = (float)boundaryDataTableEntityListCount / (float)DataTableEntityList.Where(x => x.camera_position == camPos).Count() * 100; float percentageCorrectRound = 0; float percentageRound = 0; //if (float.IsNaN(percentage)) // percentage = 0; if (!float.IsNaN(percentageCorrect) && !float.IsNaN(percentage)) { percentageCorrectRound = (float)Math.Round(percentageCorrect, 3); percentageRound = (float)Math.Round(percentage, 3); } item.SubItems.Add(percentageCorrectRound.ToString() + "%"); item.SubItems.Add(percentageRound.ToString() + "%"); listView.Items.AddRange(new ListViewItem[] { item }); } } } for (int i = 0; i < 3; i++) { listView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize); } }
private void searchBtn_Click(object sender, EventArgs e) { if (!CheckDate()) { return; } errorLbl.Text = ""; if (!Equals(cameraPositions.Count, 0)) { cameraPositions.Clear(); } foreach (object ob in cameraPositionCheckedListBox.CheckedItems) { cameraPositions.Add(ob.ToString()); } if (!DataCheck(cameraPositions)) { return; } listViewFromDB.Items.Clear(); string model = modelComboBox.GetItemText(modelComboBox.SelectedItem); // fixing bug when running on machine with win10 string starting_date = datePickerStart.Value.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture); //datePickerStart.Value.ToShortDateString(); string starting_time = timePickerStart.Value.ToString("HH:mm:ss", CultureInfo.InvariantCulture); //ToLongTimeString(); string ending_date = datePickerEnd.Value.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture); //datePickerEnd.Value.ToShortDateString(); string ending_time = timePickerEnd.Value.ToString("HH:mm:ss", CultureInfo.InvariantCulture); //ToLongTimeString(); string part_number = partNumberTextBox.Text; if ((DataTableEntityList = da.GetDataTableData(model, cameraPositions, starting_date, starting_time, ending_date, ending_time, part_number)) != null) { foreach (DataTable de in DataTableEntityList) { string[] dateTimeArr = de.timestamp.ToString().Split(' '); ListViewItem item = new ListViewItem(dateTimeArr[0]); item.Checked = true; item.SubItems.Add(dateTimeArr[1]); item.SubItems.Add(de.product_name.ToString()); item.SubItems.Add(de.part_number.ToString()); item.SubItems.Add(de.camera_position.ToString()); item.SubItems.Add(de.camera_result.ToString()); item.SubItems.Add(de.product_result.ToString()); item.SubItems.Add(de.characteristic1.ToString()); item.SubItems[7].BackColor = (BoundaryCheck.CheckBoundary(model, "characteristic1", de.camera_position, de.characteristic1)) ? Color.White : Color.Red; item.SubItems[7].ForeColor = (BoundaryCheck.CheckBoundary(model, "characteristic1", de.camera_position, de.characteristic1)) ? Color.Black : Color.White; item.SubItems.Add(de.characteristic2.ToString()); item.SubItems[8].BackColor = (BoundaryCheck.CheckBoundary(model, "characteristic2", de.camera_position, de.characteristic2)) ? Color.White : Color.Red; item.SubItems[8].ForeColor = (BoundaryCheck.CheckBoundary(model, "characteristic2", de.camera_position, de.characteristic2)) ? Color.Black : Color.White; item.SubItems.Add(de.characteristic3.ToString()); item.SubItems[9].BackColor = (BoundaryCheck.CheckBoundary(model, "characteristic3", de.camera_position, de.characteristic3)) ? Color.White : Color.Red; item.SubItems[9].ForeColor = (BoundaryCheck.CheckBoundary(model, "characteristic3", de.camera_position, de.characteristic3)) ? Color.Black : Color.White; item.SubItems.Add(de.characteristic4.ToString()); item.SubItems[10].BackColor = (BoundaryCheck.CheckBoundary(model, "characteristic4", de.camera_position, de.characteristic4)) ? Color.White : Color.Red; item.SubItems[10].ForeColor = (BoundaryCheck.CheckBoundary(model, "characteristic4", de.camera_position, de.characteristic4)) ? Color.Black : Color.White; item.UseItemStyleForSubItems = false; listViewFromDB.Items.AddRange(new ListViewItem[] { item }); } for (int i = 0; i < 4; i++) { listViewFromDB.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent); } listViewFromDB.Columns[6].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent); } if (DataTableEntityList.Select(x => x.part_number).Distinct().Count() == 1) { boxChartBtn.Enabled = false; } else { boxChartBtn.Enabled = true; } }