示例#1
0
        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();
            }
        }
示例#2
0
        private void DisplayDetailsOfSelected()
        {
            var selectedAssetTag = ScanItemsGrid.CurrentRowStringValue(MunisFixedAssetTable.Asset);

            if (!string.IsNullOrEmpty(selectedAssetTag))
            {
                using (var detailData = controller.DetailOfAsset(selectedAssetTag))
                {
                    PopulateControls(detailData);
                }
            }
        }
示例#3
0
        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();
        }
示例#4
0
        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;
                }
            }
        }
示例#5
0
        /// <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;
                    }
                }
            }
        }