コード例 #1
0
ファイル: MyDataGridView.cs プロジェクト: xuanximoming/PIC
        /// <summary>
        /// DATAGRIDVIEW跨越滚动截图
        /// </summary>
        /// <param name="_View">DataGridView</param>
        /// <returns>图形</returns>
        public Image DrawViewToImage(int times, float Ftimes)
        {
            Font      font    = this.Font;
            DockStyle ds      = this.Dock;
            bool      addRows = this.AllowUserToAddRows;
            DataGridViewAutoSizeColumnsMode dgvscm = this.AutoSizeColumnsMode;
            Color backcolor = this.DefaultCellStyle.BackColor;

            this.DefaultCellStyle.BackColor = Color.White;
            pictureBox.Paint += new PaintEventHandler(pictureBox_Paint);
            SizeF size = new SizeF(this.Size);

            this.AllowUserToAddRows = false;
            this.Dock           = DockStyle.None;
            pictureBox.Size     = this.Size;
            pictureBox.Location = this.Location;
            Bitmap thisBmp = new Bitmap(pictureBox.Width, pictureBox.Height);

            this.DrawToBitmap(thisBmp, new System.Drawing.Rectangle(0, 0, pictureBox.Width, pictureBox.Height));
            pictureBox.Image = thisBmp;

            this.Visible = false;
            this.Font    = new Font("宋体", 9 * Ftimes, this.Font.Style, this.Font.Unit, this.Font.GdiCharSet, this.Font.GdiVerticalFont);
            System.Drawing.Rectangle rc = System.Windows.Forms.Screen.PrimaryScreen.Bounds;
            double widthScale           = (double)this.DefaultScaleWidth / (double)rc.Width;

            this.Size = new Size((int)(size.Width * widthScale), (int)(size.Height));
            this.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
            this.AutoSize            = true;

            int height = 0;

            for (int i = 0; i < this.Rows.Count; i++)
            {
                height += this.Rows[i].Height;
            }
            Bitmap _NewBitmap = new Bitmap((int)((this.Width) - 32), (int)(height + 5));

            this.DrawToBitmap(_NewBitmap, new System.Drawing.Rectangle(0, 0, this.Width, this.Height));
            pictureBox           = new PictureBox();
            pictureBox.Image     = _NewBitmap;
            pictureBox.Size      = new Size(_NewBitmap.Size.Width + 10, _NewBitmap.Size.Height + 5);// new Size((int)(this.Width * times), (int)(this.Height * times));
            pictureBox.SizeMode  = PictureBoxSizeMode.CenterImage;
            pictureBox.BackColor = Color.White;
            Bitmap newbitm = new Bitmap(pictureBox.Width, pictureBox.Height);

            pictureBox.DrawToBitmap(newbitm, new Rectangle(0, 0, pictureBox.Width, pictureBox.Height));

            this.AutoSize = false;
            this.Visible  = true;
            thisBmp.Dispose();
            //_NewBitmap.Dispose();
            //pictureBox.Dispose();
            this.AllowUserToAddRows = addRows;
            this.Font = font;
            this.Dock = ds;
            this.AutoSizeColumnsMode        = dgvscm;
            this.DefaultCellStyle.BackColor = backcolor;
            return(newbitm);
        }
コード例 #2
0
        /// <summary>
        /// Refreshes the steps.
        /// </summary>
        /// <param name="dataGridViewAutoSizeColumnsMode">The data grid view auto size columns mode.</param>
        private void RefreshSteps(DataGridViewAutoSizeColumnsMode dataGridViewAutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells)
        {
            this.dgvSteps.DataSource = this.steps;
            this.dgvSteps.Refresh();
            this.dgvSteps.AutoResizeColumns(dataGridViewAutoSizeColumnsMode);

            this.dgvPrepareSteps.DataSource = this.prepareSteps;
            this.dgvPrepareSteps.Refresh();
            this.dgvPrepareSteps.AutoResizeColumns(dataGridViewAutoSizeColumnsMode);
        }
コード例 #3
0
ファイル: frmOptions.cs プロジェクト: SeeSharpCode/PassShed
        private void btnDefault_Click(object sender, EventArgs e)
        {
            // Set default settings.
            menuBackColor       = Color.SteelBlue;
            menuForeColor       = Color.White;
            rowColor            = Color.White;
            alternatingRowColor = Color.AliceBlue;
            gridlines           = DataGridViewCellBorderStyle.None;
            autoSizeColumnMode  = DataGridViewAutoSizeColumnsMode.Fill;

            RefreshUI();
        }
コード例 #4
0
ファイル: frmOptions.cs プロジェクト: SeeSharpCode/PassShed
        // Loads the user's UI settings.
        private void LoadSettings()
        {
            // Menu colors.
            menuBackColor = Properties.Settings.Default.MenuBackColor;
            menuForeColor = Properties.Settings.Default.MenuForeColor;

            // DataGridView settings.
            rowColor            = Properties.Settings.Default.RowColor;
            alternatingRowColor = Properties.Settings.Default.AlternatingRowColor;
            gridlines           = Properties.Settings.Default.GridlinesStyle;
            autoSizeColumnMode  = Properties.Settings.Default.AutosizeColumnsMode;
        }
コード例 #5
0
ファイル: DataGridBox.cs プロジェクト: xadxxadx/framework
        /// <summary>
        ///   Sets the auto-size mode for the columns.
        /// </summary>
        ///
        public DataGridBox SetAutoSizeColumns(DataGridViewAutoSizeColumnsMode mode)
        {
            if (this.InvokeRequired)
            {
                this.Invoke((Action)(() => SetAutoSizeColumns(mode)));
                return(this);
            }

            dataGridView.AutoSizeColumnsMode = mode;

            return(this);
        }
コード例 #6
0
 /// <summary>
 /// 初始化表格的列
 /// </summary>
 /// <param name="gridView">要初始化的DataGridView</param>
 /// <param name="autoSizeMode">行模式</param>
 /// <param name="dataSource">数据源</param>
 public static void InitColumns(DataGridView gridView, DataGridViewAutoSizeColumnsMode autoSizeMode = DataGridViewAutoSizeColumnsMode.Fill)
 {
     gridView.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.False;
     var value = gridView.DataSource;
     gridView.AutoSizeColumnsMode = autoSizeMode;
     gridView.EditMode = DataGridViewEditMode.EditProgrammatically;
     gridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
     gridView.AllowUserToAddRows = false;
     gridView.AllowUserToDeleteRows = false;
     if (!(value is IList)) return;
     var type = value.GetType().GetGenericArguments().FirstOrDefault();
     if (type != null)
     {
         var pis = type.GetProperties(BindingFlags.Instance | BindingFlags.Public).Where(x => ExpressionReflector.IsEntityPropertyType(x.PropertyType));
         var displayType = typeof(DataGridColumnAttribute);
         foreach (var item in pis)
         {
             var attrs = item.GetCustomAttributes(displayType, false);
             if (attrs.Length <= 0) continue;
             var dn = attrs[0] as DataGridColumnAttribute;
             DataGridViewColumn column;
             if (gridView.AutoGenerateColumns)
             {
                 column = gridView.Columns[item.Name];
                 if (column == null) continue;
                 if (dn == null) continue;
                 column.HeaderText = dn.DisplayName;
                 column.Visible = dn.Visible;
                 if (dn.Width <= 0 || dn.Width == -1) continue;
                 try
                 {
                     column.Width = dn.Width;
                 }
                 catch
                 {
                 }
             }
             else
             {
                     column = new DataGridViewTextBoxColumn();
                     column.HeaderText = dn.DisplayName;
                     column.Visible = dn.Visible;
                     column.Width = dn.Width;
                     gridView.Columns.Add(column);
             }
         }
     }
 }
コード例 #7
0
ファイル: frmOptions.cs プロジェクト: SeeSharpCode/PassShed
        private void cboColumnSizeMode_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Set the ColumnSizeMode property.
            switch (cboAutosizeColumnsMode.Text)
            {
            case "Fit To Cells":
                autoSizeColumnMode = DataGridViewAutoSizeColumnsMode.AllCells;
                break;

            case "Fill":
                autoSizeColumnMode = DataGridViewAutoSizeColumnsMode.Fill;
                break;
            }

            RefreshUI();
        }
        /// <summary>
        /// Set whether or not the grid which this adapter is linked to should automatically resize itself.
        /// </summary>
        /// <param name="mode">Whether or not the grid should automatically resize itself.</param>
        public void SetGridLayoutMode(GridLayoutMode mode)
        {
            switch (mode)
            {
            case GridLayoutMode.Automatic:
            default:
                _newColumnAutoSizeColumnMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
                _newRowAutoSizeRowMode       = DataGridViewAutoSizeRowsMode.DisplayedCells;
                break;

            case GridLayoutMode.Frozen:
                _newColumnAutoSizeColumnMode = DataGridViewAutoSizeColumnsMode.None;
                _newRowAutoSizeRowMode       = DataGridViewAutoSizeRowsMode.None;
                break;
            }

            ResetAllColumnAutoSizeModes();
        }
コード例 #9
0
 public void BindGridViewDefault(DataTable dtSource, DataGridView sourceGrid, DataGridViewAutoSizeColumnsMode columnFillType = DataGridViewAutoSizeColumnsMode.Fill, bool hasSortingAllowed = true)
 {
     if (dtSource != null)
     {
         sourceGrid.AutoGenerateColumns = true;
         sourceGrid.AutoSizeColumnsMode = columnFillType;
         DataView      defaultView = dtSource.DefaultView;
         BindingSource dataSource  = new BindingSource(defaultView, null);
         sourceGrid.DataSource = dataSource;
         if (!hasSortingAllowed)
         {
             sourceGrid.Columns.Cast <DataGridViewColumn>()
             .ToList()
             .ForEach(f =>
             {
                 f.SortMode = DataGridViewColumnSortMode.NotSortable;
             });
         }
         sourceGrid.ColumnHeadersDefaultCellStyle.BackColor = Color.LightGray;
         sourceGrid.EnableHeadersVisualStyles = false;
         sourceGrid.ClearSelection();
     }
 }
コード例 #10
0
        //Стандартная настройка стиля таблицы
        public static void BaseGrigStyle(this DataGridView dgv, DataGridViewAutoSizeColumnsMode mode = DataGridViewAutoSizeColumnsMode.Fill)
        {
            dgv.MultiSelect         = false;
            dgv.RowHeadersVisible   = false;
            dgv.AllowUserToAddRows  = false;
            dgv.AutoGenerateColumns = false;
            dgv.AutoSizeColumnsMode = mode;
            dgv.BackgroundColor     = Color.White;
            dgv.ReadOnly            = true;
            //dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            dgv.DefaultCellStyle.SelectionBackColor = SystemColors.GradientInactiveCaption;
            dgv.DefaultCellStyle.SelectionForeColor = Color.DarkBlue;
            dgv.DefaultCellStyle.Font = new Font("Arial", 12F, GraphicsUnit.Pixel);
            dgv.ScrollBars            = ScrollBars.Both;
            dgv.AutoSizeRowsMode      = DataGridViewAutoSizeRowsMode.DisplayedCells;
            dgv.DoubleBuffered(true);

            //Отключаем возможность перехода по enter на другую строку в гриде
            dgv.KeyDown += (object sender, KeyEventArgs e) =>
            {
                e.SuppressKeyPress = e.KeyCode == Keys.Enter ? true : false;
            };
        }
コード例 #11
0
ファイル: DataGridView.cs プロジェクト: vnan122/mono
		protected void AutoResizeColumns (DataGridViewAutoSizeColumnsMode autoSizeColumnsMode, bool fixedHeight) {
			for (int i = 0; i < Columns.Count; i++) {
				AutoResizeColumn (i, (DataGridViewAutoSizeColumnMode) autoSizeColumnsMode, fixedHeight);
			}
		}
コード例 #12
0
ファイル: DataGridView.cs プロジェクト: vnan122/mono
		public void AutoResizeColumns (DataGridViewAutoSizeColumnsMode autoSizeColumnsMode) {
			AutoResizeColumns (autoSizeColumnsMode, true);
		}
コード例 #13
0
ファイル: DataGridView.cs プロジェクト: vnan122/mono
		public DataGridView ()
		{
			SetStyle (ControlStyles.Opaque, true);
			//SetStyle (ControlStyles.UserMouse, true);
			SetStyle (ControlStyles.OptimizedDoubleBuffer, true);
			
			adjustedTopLeftHeaderBorderStyle = new DataGridViewAdvancedBorderStyle();
			adjustedTopLeftHeaderBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single;
			advancedCellBorderStyle = new DataGridViewAdvancedBorderStyle();
			advancedCellBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single;
			advancedColumnHeadersBorderStyle = new DataGridViewAdvancedBorderStyle();
			advancedColumnHeadersBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single;
			advancedRowHeadersBorderStyle = new DataGridViewAdvancedBorderStyle();
			advancedRowHeadersBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single;
			alternatingRowsDefaultCellStyle = new DataGridViewCellStyle();
			allowUserToAddRows = true;
			allowUserToDeleteRows = true;
			allowUserToOrderColumns = false;
			allowUserToResizeColumns = true;
			allowUserToResizeRows = true;
			autoGenerateColumns = true;
			autoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
			autoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
			backColor = Control.DefaultBackColor;
			backgroundColor = SystemColors.AppWorkspace;
			borderStyle = BorderStyle.FixedSingle;
			cellBorderStyle = DataGridViewCellBorderStyle.Single;
			clipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithAutoHeaderText;
			columnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;
			columnHeadersDefaultCellStyle = new DataGridViewCellStyle();
			columnHeadersDefaultCellStyle.BackColor = SystemColors.Control;
			columnHeadersDefaultCellStyle.ForeColor = SystemColors.WindowText;
			columnHeadersDefaultCellStyle.SelectionBackColor = SystemColors.Highlight;
			columnHeadersDefaultCellStyle.SelectionForeColor = SystemColors.HighlightText;
			columnHeadersDefaultCellStyle.Font = this.Font;
			columnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
			columnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.True;
			columnHeadersHeight = 23;
			columnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
			columnHeadersVisible = true;
			columns = CreateColumnsInstance();
			columns.CollectionChanged += OnColumnCollectionChanged;
			currentCellAddress = new Point (-1, -1);
			dataMember = String.Empty;
			defaultCellStyle = new DataGridViewCellStyle();
			defaultCellStyle.BackColor = SystemColors.Window;
			defaultCellStyle.ForeColor = SystemColors.ControlText;
			defaultCellStyle.SelectionBackColor = SystemColors.Highlight;
			defaultCellStyle.SelectionForeColor = SystemColors.HighlightText;
			defaultCellStyle.Font = this.Font;
			defaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
			defaultCellStyle.WrapMode = DataGridViewTriState.False;
			editMode = DataGridViewEditMode.EditOnKeystrokeOrF2;
			firstDisplayedScrollingColumnHiddenWidth = 0;
			isCurrentCellDirty = false;
			multiSelect = true;
			readOnly = false;
			rowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;
			rowHeadersDefaultCellStyle = (DataGridViewCellStyle) columnHeadersDefaultCellStyle.Clone ();
			rowHeadersVisible = true;
			rowHeadersWidth = 41;
			rowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing;
			rows = CreateRowsInstance();
			rowsDefaultCellStyle = new DataGridViewCellStyle();
			selectionMode = DataGridViewSelectionMode.RowHeaderSelect;
			showCellErrors = true;
			showEditingIcon = true;
			scrollBars = ScrollBars.Both;
			userSetCursor = Cursor.Current;
			virtualMode = false;

			horizontalScrollBar = new HScrollBar();
			horizontalScrollBar.Scroll += OnHScrollBarScroll;
			horizontalScrollBar.Visible = false;
			
			verticalScrollBar = new VScrollBar();
			verticalScrollBar.Scroll += OnVScrollBarScroll;
			verticalScrollBar.Visible = false;
			
			Controls.AddRange (new Control[] {horizontalScrollBar, verticalScrollBar});
		}
コード例 #14
0
        public void DataGridViewColumnCollection_Add_VisibleFrozenColumnInvalidAutoSize_ThrowsInvalidOperationException(DataGridViewAutoSizeColumnsMode autoSizeColumnsMode, DataGridViewAutoSizeColumnMode autoSizeMode)
        {
            using var control = new DataGridView
                  {
                      AutoSizeColumnsMode = autoSizeColumnsMode
                  };
            var collection = new DataGridViewColumnCollection(control);

            using var column = new DataGridViewColumn(new SubDataGridViewCell())
                  {
                      AutoSizeMode = autoSizeMode,
                      Frozen       = true
                  };
            Assert.Throws <InvalidOperationException>(() => control.Columns.Add(column));
        }
コード例 #15
0
        public void DataGridViewColumnCollection_Add_CustomAutoSizeMode_Success(bool columnHeadersVisible, bool visible, bool frozen, DataGridViewAutoSizeColumnsMode columnsAutoSizeMode, DataGridViewAutoSizeColumnMode autoSizeMode)
        {
            using var control = new DataGridView
                  {
                      AutoSizeColumnsMode  = columnsAutoSizeMode,
                      ColumnHeadersVisible = columnHeadersVisible
                  };
            DataGridViewColumnCollection collection = control.Columns;

            using var column1 = new DataGridViewColumn(new SubDataGridViewCell())
                  {
                      AutoSizeMode = autoSizeMode,
                      Frozen       = frozen,
                      Visible      = visible
                  };
            using var column2 = new DataGridViewColumn(new SubDataGridViewCell())
                  {
                      AutoSizeMode = autoSizeMode,
                      Frozen       = frozen,
                      Visible      = visible
                  };

            // Add one.
            collection.Add(column1);
            Assert.Equal(new DataGridViewColumn[] { column1 }, collection.Cast <DataGridViewColumn>());
            Assert.Same(control, column1.DataGridView);
            Assert.Equal(0, column1.Index);
            Assert.Equal(0, column1.DisplayIndex);
            Assert.False(control.IsHandleCreated);

            // Add another.
            collection.Add(column2);
            Assert.Equal(new DataGridViewColumn[] { column1, column2 }, collection.Cast <DataGridViewColumn>());
            Assert.Same(control, column1.DataGridView);
            Assert.Equal(0, column1.Index);
            Assert.Equal(0, column1.DisplayIndex);
            Assert.Same(control, column2.DataGridView);
            Assert.Equal(1, column2.Index);
            Assert.Equal(1, column2.DisplayIndex);
            Assert.False(control.IsHandleCreated);
        }
コード例 #16
0
 public DataGridView()
 {
     base.SetStyle(ControlStyles.UserMouse | ControlStyles.Opaque | ControlStyles.UserPaint, true);
     base.SetStyle(ControlStyles.SupportsTransparentBackColor, false);
     base.SetState2(0x800, true);
     this.dataGridViewState1 = new BitVector32(0);
     this.dataGridViewState2 = new BitVector32(0);
     this.dataGridViewOper = new BitVector32(0);
     this.dataGridViewState1[0x80001b] = true;
     this.dataGridViewState2[0x60003e7] = true;
     this.displayedBandsInfo = new DisplayedBandsData();
     this.lstRows = new ArrayList();
     this.converters = new Hashtable(8);
     this.pens = new Hashtable(8);
     this.brushes = new Hashtable(10);
     this.gridPen = new Pen(DefaultGridColor);
     this.selectedBandIndexes = new DataGridViewIntLinkedList();
     this.individualSelectedCells = new DataGridViewCellLinkedList();
     this.individualReadOnlyCells = new DataGridViewCellLinkedList();
     this.advancedCellBorderStyle = new DataGridViewAdvancedBorderStyle(this, DataGridViewAdvancedCellBorderStyle.OutsetDouble, DataGridViewAdvancedCellBorderStyle.OutsetPartial, DataGridViewAdvancedCellBorderStyle.InsetDouble);
     this.advancedRowHeadersBorderStyle = new DataGridViewAdvancedBorderStyle(this);
     this.advancedColumnHeadersBorderStyle = new DataGridViewAdvancedBorderStyle(this);
     this.advancedCellBorderStyle.All = DataGridViewAdvancedCellBorderStyle.Single;
     this.advancedRowHeadersBorderStyle.All = DataGridViewAdvancedCellBorderStyle.OutsetPartial;
     this.advancedColumnHeadersBorderStyle.All = DataGridViewAdvancedCellBorderStyle.OutsetPartial;
     this.borderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
     this.dataGridViewState1[0x80] = true;
     this.selectionMode = DataGridViewSelectionMode.RowHeaderSelect;
     this.editMode = DataGridViewEditMode.EditOnKeystrokeOrF2;
     this.autoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
     this.autoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
     this.columnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
     this.rowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing;
     this.clipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithAutoHeaderText;
     this.layout = new LayoutData();
     this.layout.TopLeftHeader = Rectangle.Empty;
     this.layout.ColumnHeaders = Rectangle.Empty;
     this.layout.RowHeaders = Rectangle.Empty;
     this.layout.ColumnHeadersVisible = true;
     this.layout.RowHeadersVisible = true;
     this.layout.ClientRectangle = base.ClientRectangle;
     this.scrollBars = System.Windows.Forms.ScrollBars.Both;
     this.horizScrollBar.RightToLeft = RightToLeft.Inherit;
     this.horizScrollBar.AccessibleName = System.Windows.Forms.SR.GetString("DataGridView_AccHorizontalScrollBarAccName");
     this.horizScrollBar.Top = base.ClientRectangle.Height - this.horizScrollBar.Height;
     this.horizScrollBar.Left = 0;
     this.horizScrollBar.Visible = false;
     this.horizScrollBar.Scroll += new ScrollEventHandler(this.DataGridViewHScrolled);
     base.Controls.Add(this.horizScrollBar);
     this.vertScrollBar.Top = 0;
     this.vertScrollBar.AccessibleName = System.Windows.Forms.SR.GetString("DataGridView_AccVerticalScrollBarAccName");
     this.vertScrollBar.Left = base.ClientRectangle.Width - this.vertScrollBar.Width;
     this.vertScrollBar.Visible = false;
     this.vertScrollBar.Scroll += new ScrollEventHandler(this.DataGridViewVScrolled);
     base.Controls.Add(this.vertScrollBar);
     this.ptCurrentCell = new Point(-1, -1);
     this.ptAnchorCell = new Point(-1, -1);
     this.ptMouseDownCell = new Point(-2, -2);
     this.ptMouseEnteredCell = new Point(-2, -2);
     this.ptToolTipCell = new Point(-1, -1);
     this.ptMouseDownGridCoord = new Point(-1, -1);
     this.sortOrder = System.Windows.Forms.SortOrder.None;
     this.lastMouseClickInfo.timeStamp = 0L;
     this.WireScrollBarsEvents();
     base.PerformLayout();
     this.toolTipControl = new DataGridViewToolTip(this);
     base.Invalidate();
 }
コード例 #17
0
 /// <include file='doc\DataGridView.uex' path='docs/doc[@for="DataGridView.AutoResizeColumns2"]/*' />
 protected void AutoResizeColumns(DataGridViewAutoSizeColumnsMode autoSizeColumnsMode, bool fixedHeight)
 {
     for (int columnIndex = 0; columnIndex < this.Columns.Count; columnIndex++)
     {
         AutoResizeColumn(columnIndex, (DataGridViewAutoSizeColumnMode)autoSizeColumnsMode, fixedHeight);
     }
 }
コード例 #18
0
ファイル: DataSetViewer.cs プロジェクト: stphomeboyz/crudwork
 /// <summary>
 /// Set the column's auto resize mode
 /// </summary>
 /// <param name="mode"></param>
 public void AutoResizeColumns(DataGridViewAutoSizeColumnsMode mode)
 {
     DSV.AutoResizeColumns(mode);
 }
コード例 #19
0
 public GranitXMLFormSettings(string filePath, DataGridViewAutoSizeColumnsMode alignTable)
 {
     FilePath   = filePath;
     AlignTable = alignTable;
 }
コード例 #20
0
        /// <summary>
        ///   Sets the auto-size mode for the columns.
        /// </summary>
        /// 
        public DataGridBox SetAutoSizeColumns(DataGridViewAutoSizeColumnsMode mode)
        {
            if (this.InvokeRequired)
            {
                this.Invoke((Action)(() => SetAutoSizeColumns(mode)));
                return this;
            }

            dataGridView.AutoSizeColumnsMode = mode;

            return this;
        }
コード例 #21
0
 protected void AutoResizeColumns(DataGridViewAutoSizeColumnsMode autoSizeColumnsMode, bool fixedHeight);
コード例 #22
0
 public void AutoResizeColumns(DataGridViewAutoSizeColumnsMode autoSizeColumnsMode)
 {
 }
コード例 #23
0
 internal static void AutoResizeColumns(DataGridViewAutoSizeColumnsMode allCells)
 {
     throw new NotImplementedException();
 }
コード例 #24
0
#pragma warning restore 0414
#endif
        /// <include file='doc\DataGridView.uex' path='docs/doc[@for="DataGridView.DataGridView"]/*' />
        /// <devdoc>
        /// <para>Initializes a new instance of the <see cref='System.Windows.Forms.DataGridView'/> class.</para>
        /// </devdoc>
        public DataGridView()
        {
            SetStyle(ControlStyles.UserPaint | 
                     ControlStyles.Opaque | 
                     ControlStyles.UserMouse, true);
            
            SetStyle(ControlStyles.SupportsTransparentBackColor, false);

            // this class overrides GetPreferredSizeCore, let Control automatically cache the result
            SetState2(STATE2_USEPREFERREDSIZECACHE, true);  

            this.dataGridViewState1 = new System.Collections.Specialized.BitVector32(0x00000000);
            this.dataGridViewState2 = new System.Collections.Specialized.BitVector32(0x00000000);
            this.dataGridViewOper   = new System.Collections.Specialized.BitVector32(0x00000000);

            this.dataGridViewState1[  DATAGRIDVIEWSTATE1_columnHeadersVisible 
                                    | DATAGRIDVIEWSTATE1_rowHeadersVisible 
                                    | DATAGRIDVIEWSTATE1_autoGenerateColumns
                                    | DATAGRIDVIEWSTATE1_allowUserToAddRows
                                    | DATAGRIDVIEWSTATE1_allowUserToDeleteRows ] = true;



            this.dataGridViewState2[  DATAGRIDVIEWSTATE2_showEditingIcon
                                    | DATAGRIDVIEWSTATE2_enableHeadersVisualStyles
                                    | DATAGRIDVIEWSTATE2_mouseEnterExpected
                                    | DATAGRIDVIEWSTATE2_allowUserToResizeColumns
                                    | DATAGRIDVIEWSTATE2_allowUserToResizeRows
                                    | DATAGRIDVIEWSTATE2_showCellToolTips
                                    | DATAGRIDVIEWSTATE2_showCellErrors
                                    | DATAGRIDVIEWSTATE2_showRowErrors
                                    | DATAGRIDVIEWSTATE2_allowHorizontalScrollbar
                                    | DATAGRIDVIEWSTATE2_usedFillWeightsDirty ] = true;


            this.displayedBandsInfo = new DisplayedBandsData();
            this.lstRows = new ArrayList();

            this.converters = new Hashtable(8);
            this.pens = new Hashtable(8);
            this.brushes = new Hashtable(10);
            this.gridPen = new Pen(DefaultGridColor);

            this.selectedBandIndexes = new DataGridViewIntLinkedList();
            this.individualSelectedCells = new DataGridViewCellLinkedList();
            this.individualReadOnlyCells = new DataGridViewCellLinkedList();

            this.advancedCellBorderStyle = new DataGridViewAdvancedBorderStyle(this, 
                DataGridViewAdvancedCellBorderStyle.OutsetDouble, 
                DataGridViewAdvancedCellBorderStyle.OutsetPartial, 
                DataGridViewAdvancedCellBorderStyle.InsetDouble);
            this.advancedRowHeadersBorderStyle = new DataGridViewAdvancedBorderStyle(this);
            this.advancedColumnHeadersBorderStyle = new DataGridViewAdvancedBorderStyle(this);
            this.advancedCellBorderStyle.All = defaultAdvancedCellBorderStyle;
            this.advancedRowHeadersBorderStyle.All = defaultAdvancedRowHeadersBorderStyle;
            this.advancedColumnHeadersBorderStyle.All = defaultAdvancedColumnHeadersBorderStyle;
            this.borderStyle = defaultBorderStyle;
            this.dataGridViewState1[DATAGRIDVIEWSTATE1_multiSelect] = true;
            this.selectionMode = defaultSelectionMode;
            this.editMode = defaultEditMode;
            this.autoSizeRowsMode = DataGridViewAutoSizeRowsMode.None;
            this.autoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None;
            this.columnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
            this.rowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing;

            this.clipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithAutoHeaderText;

            this.layout = new LayoutData();
            this.layout.TopLeftHeader        = Rectangle.Empty;
            this.layout.ColumnHeaders        = Rectangle.Empty;
            this.layout.RowHeaders           = Rectangle.Empty;
            this.layout.ColumnHeadersVisible = true;
            this.layout.RowHeadersVisible    = true;
            this.layout.ClientRectangle      = this.ClientRectangle;

            this.scrollBars = ScrollBars.Both;

            this.horizScrollBar.RightToLeft = RightToLeft.Inherit;
            this.horizScrollBar.AccessibleName = SR.GetString(SR.DataGridView_AccHorizontalScrollBarAccName);
            this.horizScrollBar.Top = this.ClientRectangle.Height - horizScrollBar.Height;
            this.horizScrollBar.Left = 0;
            this.horizScrollBar.Visible = false;
            this.horizScrollBar.Scroll += new ScrollEventHandler(DataGridViewHScrolled);
            this.Controls.Add(this.horizScrollBar);

            this.vertScrollBar.Top = 0;
            this.vertScrollBar.AccessibleName = SR.GetString(SR.DataGridView_AccVerticalScrollBarAccName);
            this.vertScrollBar.Left = this.ClientRectangle.Width - vertScrollBar.Width;
            this.vertScrollBar.Visible = false;
            this.vertScrollBar.Scroll += new ScrollEventHandler(DataGridViewVScrolled);
            this.Controls.Add(this.vertScrollBar);

            this.ptCurrentCell = new Point(-1, -1);
            this.ptAnchorCell = new Point(-1, -1);
            this.ptMouseDownCell = new Point(-2, -2);
            this.ptMouseEnteredCell = new Point(-2, -2);
            this.ptToolTipCell = new Point(-1, -1);
            this.ptMouseDownGridCoord = new Point(-1, -1);

            this.sortOrder = SortOrder.None;

            this.lastMouseClickInfo.timeStamp = 0;

            WireScrollBarsEvents();
            PerformLayout();

            this.toolTipControl = new DataGridViewToolTip(this);
            
            Invalidate();
        }
コード例 #25
0
        /// <summary>
        /// 初始化表格的列
        /// </summary>
        /// <param name="gridView">要初始化的DataGridView</param>
        /// <param name="autoSizeMode">行模式</param>
        /// <param name="dataSource">数据源</param>
        public static void InitColumns(DataGridView gridView, DataGridViewAutoSizeColumnsMode autoSizeMode = DataGridViewAutoSizeColumnsMode.Fill)
        {
            gridView.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.False;
            var value = gridView.DataSource;

            gridView.AutoSizeColumnsMode   = autoSizeMode;
            gridView.EditMode              = DataGridViewEditMode.EditProgrammatically;
            gridView.SelectionMode         = DataGridViewSelectionMode.FullRowSelect;
            gridView.AllowUserToAddRows    = false;
            gridView.AllowUserToDeleteRows = false;
            if (!(value is IList))
            {
                return;
            }
            var type = value.GetType().GetGenericArguments().FirstOrDefault();

            if (type != null)
            {
                var pis         = type.GetProperties(BindingFlags.Instance | BindingFlags.Public).Where(x => ExpressionReflector.IsEntityPropertyType(x.PropertyType));
                var displayType = typeof(DataGridColumnAttribute);
                foreach (var item in pis)
                {
                    var attrs = item.GetCustomAttributes(displayType, false);
                    if (attrs.Length <= 0)
                    {
                        continue;
                    }
                    var dn = attrs[0] as DataGridColumnAttribute;
                    DataGridViewColumn column;
                    if (gridView.AutoGenerateColumns)
                    {
                        column = gridView.Columns[item.Name];
                        if (column == null)
                        {
                            continue;
                        }
                        if (dn == null)
                        {
                            continue;
                        }
                        column.HeaderText = dn.DisplayName;
                        column.Visible    = dn.Visible;
                        if (dn.Width <= 0 || dn.Width == -1)
                        {
                            continue;
                        }
                        try
                        {
                            column.Width = dn.Width;
                        }
                        catch
                        {
                        }
                    }
                    else
                    {
                        column            = new DataGridViewTextBoxColumn();
                        column.HeaderText = dn.DisplayName;
                        column.Visible    = dn.Visible;
                        column.Width      = dn.Width;
                        gridView.Columns.Add(column);
                    }
                }
            }
        }