public void LoadScanItems(DataTable data) { if (ScanItemsGrid.InvokeRequired) { var del = new Action(() => LoadScanItems(data)); ScanItemsGrid.BeginInvoke(del); } else { ScanItemsGrid.SuspendLayout(); var gridState = new GridState(ScanItemsGrid); ScanItemsGrid.Populate(data, ScanItemsGridColumns()); // Bold tag and serial columns. ScanItemsGrid.Columns[MunisFixedAssetTable.Asset].DefaultCellStyle.Font = new Font(ScanItemsGrid.Font, FontStyle.Bold); ScanItemsGrid.Columns[MunisFixedAssetTable.Asset].HeaderCell.Style.Font = new Font(ScanItemsGrid.Font, FontStyle.Bold); ScanItemsGrid.Columns[MunisFixedAssetTable.Serial].DefaultCellStyle.Font = new Font(ScanItemsGrid.Font, FontStyle.Bold); ScanItemsGrid.Columns[MunisFixedAssetTable.Serial].HeaderCell.Style.Font = new Font(ScanItemsGrid.Font, FontStyle.Bold); ScanItemsGrid.FastAutoSizeColumns(); gridState.RestoreState(); SetRowColors(); ScanItemsGrid.ResumeLayout(); DisplayDetailsOfSelected(); } }
private void DisplayDetailsOfSelected() { var selectedAssetTag = ScanItemsGrid.CurrentRowStringValue(MunisFixedAssetTable.Asset); if (!string.IsNullOrEmpty(selectedAssetTag)) { using (var detailData = controller.DetailOfAsset(selectedAssetTag)) { PopulateControls(detailData); } } }
public ScanningUI() { InitializeComponent(); InitDBControls(); controlParser = new DBControlParser(this); ScanItemsGrid.DoubleBuffered(true); PopulateLocationsCombo(); ScanDateTimeTextBox.Text = DateTime.Now.ToString(); AttachFilterMenuEvents(); statusLabel.FlashStripOnNewMessage = true; statusLabel.AutoSize = true; statusStrip1.Items.Insert(0, statusLabel.ToToolStripControl(statusStrip1)); this.Show(); }
private void SetupContextMenu() { var selectedStatus = ScanItemsGrid.CurrentRowStringValue(ScanItemsTable.ScanStatus); if (string.IsNullOrEmpty(selectedStatus)) { ResolveDupMenuItem.Enabled = false; } else { if (selectedStatus == ScanStatus.Duplicate.ToString()) { ResolveDupMenuItem.Enabled = true; } else { ResolveDupMenuItem.Enabled = false; } } }
/// <summary> /// Highlights and scrolls to the row containing the specified asset tag. /// </summary> /// <param name="assetTag"></param> private void SelectGridItem(string assetTag) { int itemRowIndex = -1; foreach (DataGridViewRow row in ScanItemsGrid.Rows) { var rowValue = row.Cells[MunisFixedAssetTable.Asset].Value; if (rowValue != null && rowValue.ToString() == assetTag) { itemRowIndex = row.Index; } } if (itemRowIndex > 0) { ScanItemsGrid.ClearSelection(); ScanItemsGrid.Rows[itemRowIndex].Selected = true; // If the item row index is outside the currenly displayed rows, // scroll the grid so that the selected row is in the middle of the window. var topRow = ScanItemsGrid.FirstDisplayedScrollingRowIndex; var displayedRows = ScanItemsGrid.DisplayedRowCount(true); var bottomRow = topRow + displayedRows; if (itemRowIndex > bottomRow || itemRowIndex < topRow) { var scrollIndex = itemRowIndex - (int)(ScanItemsGrid.DisplayedRowCount(true) / 2); if (scrollIndex > -1) { ScanItemsGrid.FirstDisplayedScrollingRowIndex = scrollIndex; } else { ScanItemsGrid.FirstDisplayedScrollingRowIndex = 0; } } } }