/// <summary>
        ///
        /// </summary>
        /// <param name="dgvSellers"></param>
        /// <param name="dgvBuyers"></param>
        /// <param name="cmsMainSellers"></param>
        /// <param name="cmsMainBuyers"></param>
        internal void ToGridView(ref MarketScanner.Common.BgPaintedDataGridView dgvSellers, ref MarketScanner.Common.BgPaintedDataGridView dgvBuyers, ref ContextMenuStrip cmsMainSellers, ref ContextMenuStrip cmsMainBuyers)
        {
            dgvSellers.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
            dgvSellers.AutoSizeRowsMode    = DataGridViewAutoSizeRowsMode.None;

            dgvSellers.SuspendLayout();
            dgvBuyers.SuspendLayout();
            if (File.Exists(this.FilePath))    //Check if file still exists
            {
                DataTable dtLog = MarketTable; // Get filtered MarketLog datatable
                if (dtLog != null)
                {
                    // Split between buyers and sellers
                    DataHandler.SplitLogEntries(ref dtLog, ref _dvSellers, ref _dvBuyers);

                    // modify view settings
                    _dvSellers.AllowNew    = _dvBuyers.AllowNew = false;
                    _dvSellers.AllowDelete = _dvBuyers.AllowDelete = false;
                    _dvSellers.AllowEdit   = _dvBuyers.AllowEdit = false;

                    // Set datasource before formatting
                    dgvSellers.DataSource = _dvSellers;
                    dgvBuyers.DataSource  = _dvBuyers;
                    Formatting.FormatDataGridViewByType(ref dgvSellers, FormatDgvType.Sellers);
                    Formatting.FormatDataGridViewByType(ref dgvBuyers, FormatDgvType.Buyers);

                    // Set Context menus
                    GetContextMenuForDataGridView(ref dgvBuyers, ref cmsMainBuyers);
                    GetContextMenuForDataGridView(ref dgvSellers, ref cmsMainSellers);
                }
            }
            dgvSellers.ResumeLayout();
            dgvBuyers.ResumeLayout();
        }
 private void GetContextMenuForDataGridView(ref MarketScanner.Common.BgPaintedDataGridView dgv, ref ContextMenuStrip cms)
 {
     for (int i = 0; i < dgv.ColumnCount; i++)
     {
         if (cms.Items.Count == dgv.ColumnCount)// Only add menuitems if not already there
         {
             // If the context menu was filled previously, then set the previous column visibility.
             ToolStripMenuItem tsMenuItem = (ToolStripMenuItem)cms.Items[i];
             dgv.Columns[i].Visible = tsMenuItem.Checked;
         }
         else
         {
             ToolStripMenuItem tsMenuItem = new ToolStripMenuItem();
             tsMenuItem.Text         = dgv.Columns[i].HeaderText;
             tsMenuItem.Name         = dgv.Columns[i].Name;
             tsMenuItem.Checked      = dgv.Columns[i].Visible;
             tsMenuItem.CheckOnClick = true;
             cms.Items.Add(tsMenuItem);
         }
         // set the contextmenu for each column header.
         dgv.Columns[i].HeaderCell.ContextMenuStrip = cms;
     }
     // Set click event for the toolstripitems
     cms.ItemClicked += new ToolStripItemClickedEventHandler(cms_ItemClicked);
 }
Example #3
0
        /// <summary>
        /// Formats a DataGridView for Eve market Buyers and sellers output.
        /// </summary>
        /// <param name="dgv"> Takes a DataGridView reference. REMEMBER to set datasource before calling this method!</param>
        /// <param name="formatDGVType">Enum</param>
        internal static void FormatDataGridViewByType(ref MarketScanner.Common.BgPaintedDataGridView dgv, FormatDgvType formatDGVType)
        {
            if (dgv.DataSource != null)
            {
                // Set Header Names

                // Set headernames for initially shown
                dgv.Columns["jumps"].HeaderText        = "Jumps";
                dgv.Columns["volRemaining"].HeaderText = "Quantity";
                dgv.Columns["price"].HeaderText        = "Price";
                dgv.Columns["stationName"].HeaderText  = "Location";
                dgv.Columns["expires"].HeaderText      = "Expires";
                // headernames for initially hidden
                dgv.Columns["typeID"].HeaderText          = "TypeID";
                dgv.Columns["range"].HeaderText           = "Range";
                dgv.Columns["orderID"].HeaderText         = "OrderID";
                dgv.Columns["volEntered"].HeaderText      = "Volume Entered";
                dgv.Columns["minVolume"].HeaderText       = "Min. Volume";
                dgv.Columns["bid"].HeaderText             = "Bid";
                dgv.Columns["issued"].HeaderText          = "Issued";
                dgv.Columns["duration"].HeaderText        = "Duration";
                dgv.Columns["stationID"].HeaderText       = "StationID";
                dgv.Columns["regionID"].HeaderText        = "RegionID";
                dgv.Columns["solarSystemID"].HeaderText   = "SolarSystemID";
                dgv.Columns["corporationName"].HeaderText = "Station Owner";

                switch (formatDGVType)
                {
                case FormatDgvType.Sellers:

                    // Initially Hidden
                    dgv.Columns["typeID"].Visible          = false;
                    dgv.Columns["range"].Visible           = false;
                    dgv.Columns["orderID"].Visible         = false;
                    dgv.Columns["volEntered"].Visible      = false;
                    dgv.Columns["minVolume"].Visible       = false;
                    dgv.Columns["bid"].Visible             = false;
                    dgv.Columns["issued"].Visible          = false;
                    dgv.Columns["duration"].Visible        = false;
                    dgv.Columns["stationID"].Visible       = false;
                    dgv.Columns["regionID"].Visible        = false;
                    dgv.Columns["solarSystemID"].Visible   = false;
                    dgv.Columns["corporationName"].Visible = false;

                    // * Visual *
                    dgv.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.WhiteSmoke;

                    // Datatypes formatting
                    dgv.Columns["price"].DefaultCellStyle.Format        = "N";
                    dgv.Columns["volRemaining"].DefaultCellStyle.Format = "N0";
                    dgv.Columns["Security"].DefaultCellStyle.Format     = "F2";

                    // Column Order
                    dgv.Columns["jumps"].DisplayIndex           = 0;
                    dgv.Columns["volRemaining"].DisplayIndex    = 1;
                    dgv.Columns["price"].DisplayIndex           = 2;
                    dgv.Columns["stationName"].DisplayIndex     = 3;
                    dgv.Columns["expires"].DisplayIndex         = 5;
                    dgv.Columns["corporationName"].DisplayIndex = 4;

                    // Data Order
                    dgv.Sort(dgv.Columns["price"], System.ComponentModel.ListSortDirection.Ascending);

                    // resize columns
                    dgv.AutoSizeColumnsMode                     = DataGridViewAutoSizeColumnsMode.Fill;
                    dgv.Columns["jumps"].FillWeight             = 100;
                    dgv.Columns["jumps"].MinimumWidth           = 15;
                    dgv.Columns["volRemaining"].FillWeight      = 100;
                    dgv.Columns["volRemaining"].MinimumWidth    = 15;
                    dgv.Columns["price"].FillWeight             = 200;
                    dgv.Columns["stationName"].FillWeight       = 500;
                    dgv.Columns["expires"].FillWeight           = 200;
                    dgv.Columns["corporationName"].FillWeight   = 200;
                    dgv.Columns["corporationName"].MinimumWidth = 50;
                    break;

                case FormatDgvType.Buyers:
                    // Hidden
                    dgv.Columns["typeID"].Visible          = false;
                    dgv.Columns["orderID"].Visible         = false;
                    dgv.Columns["volEntered"].Visible      = false;
                    dgv.Columns["bid"].Visible             = false;
                    dgv.Columns["issued"].Visible          = false;
                    dgv.Columns["duration"].Visible        = false;
                    dgv.Columns["stationID"].Visible       = false;
                    dgv.Columns["regionID"].Visible        = false;
                    dgv.Columns["solarSystemID"].Visible   = false;
                    dgv.Columns["corporationName"].Visible = false;

                    // * Visual *
                    dgv.AlternatingRowsDefaultCellStyle.BackColor = System.Drawing.Color.WhiteSmoke;

                    // Datatypes formatting
                    dgv.Columns["price"].DefaultCellStyle.Format        = "N";
                    dgv.Columns["volRemaining"].DefaultCellStyle.Format = "N0";
                    dgv.Columns["Security"].DefaultCellStyle.Format     = "F2";

                    // Column Order
                    dgv.Columns["jumps"].DisplayIndex           = 0;
                    dgv.Columns["volRemaining"].DisplayIndex    = 1;
                    dgv.Columns["price"].DisplayIndex           = 2;
                    dgv.Columns["stationName"].DisplayIndex     = 3;
                    dgv.Columns["corporationName"].DisplayIndex = 4;
                    dgv.Columns["range"].DisplayIndex           = 5;
                    dgv.Columns["minVolume"].DisplayIndex       = 6;
                    dgv.Columns["expires"].DisplayIndex         = 7;

                    // Data Order
                    dgv.Sort(dgv.Columns["price"], System.ComponentModel.ListSortDirection.Descending);

                    // resize columns
                    dgv.AutoSizeColumnsMode                     = DataGridViewAutoSizeColumnsMode.Fill;
                    dgv.Columns["jumps"].FillWeight             = 100;
                    dgv.Columns["jumps"].MinimumWidth           = 15;
                    dgv.Columns["volRemaining"].FillWeight      = 100;
                    dgv.Columns["volRemaining"].MinimumWidth    = 15;
                    dgv.Columns["price"].FillWeight             = 200;
                    dgv.Columns["price"].MinimumWidth           = 40;
                    dgv.Columns["stationName"].FillWeight       = 400;
                    dgv.Columns["stationName"].MinimumWidth     = 50;
                    dgv.Columns["range"].FillWeight             = 100;
                    dgv.Columns["range"].MinimumWidth           = 50;
                    dgv.Columns["minVolume"].FillWeight         = 100;
                    dgv.Columns["minVolume"].MinimumWidth       = 15;
                    dgv.Columns["expires"].FillWeight           = 200;
                    dgv.Columns["expires"].MinimumWidth         = 35;
                    dgv.Columns["corporationName"].FillWeight   = 200;
                    dgv.Columns["corporationName"].MinimumWidth = 50;
                    break;

                default:
                    break;
                }
            }
        }