Example #1
0
 private void SetDataGridViewColumnsSortMode(DataGridView dgv, DataGridViewColumnSortMode sortMode)
 {
     for (int i = 0; i < dgv.Columns.Count; i++)
     {
         dgv.Columns[i].SortMode = sortMode;
     }
 }
Example #2
0
 protected void DefaultStylesB()
 {
     #region 若未设置行高(默认自动适应)
     if (RowHeight == 0)
     {
         GV.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
     }
     #endregion
     #region 若未设置列宽(默认自动适应)
     if (ColumnWidths.Length == 0)
     {
         GV.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
         ColumnWidths           = new int[table.Columns.Count];
         for (int i = 0; i < table.Columns.Count; i++)
         {
             ColumnWidths[i] = 0;//填充用,实际将自动适应
         }
     }
     #endregion
     #region 若未设置表头排序功能(禁用表头排序功能)
     if (!AreColumnSortModesSet)
     {
         ColumnSortModes = new DataGridViewColumnSortMode[table.Columns.Count];
         for (int i = 0; i < table.Columns.Count; i++)
         {
             ColumnSortModes[i] = DataGridViewColumnSortMode.NotSortable;
         }
     }
     #endregion
 }
Example #3
0
 /// <summary>
 /// 设置排序模式
 /// </summary>
 /// <param name="torf"></param>
 public void SetColumnSortModel(DataGridViewColumnSortMode model = DataGridViewColumnSortMode.Automatic)
 {
     for (int i = 0; i < this.dataGridView1.Columns.Count; i++)
     {
         this.dataGridView1.Columns[i].SortMode = model;
     }
 }
 public static void DisableGridSort(DataGridView dgv, DataGridViewColumnSortMode sortMode)
 {
     foreach (DataGridViewColumn col in dgv.Columns)
     {
         col.SortMode = sortMode;
     }
 }
Example #5
0
 //控制列排序模式
 public static void SetColSortMode(DataGridView grid, DataGridViewColumnSortMode ColSortMode)
 {
     foreach (DataGridViewColumn eColumn in grid.Columns)
     {
         eColumn.SortMode = ColSortMode;
     }
 }
 /// <summary>
 /// 設定DataGridView的col排序模式
 /// </summary>
 /// <param name="dgv"></param>
 /// <param name="sortMode"></param>
 static public void DataGridViewSetColumnsSortMode(DataGridView dgv, DataGridViewColumnSortMode sortMode)
 {
     foreach (DataGridViewColumn col in dgv.Columns)
     {
         col.SortMode = sortMode;
     }
 }
Example #7
0
 /// <summary>
 /// DataGridViewのソートモードの変更
 /// </summary>
 /// <param name="dgv"></param>
 /// <param name="mode"></param>
 private void setDataGridSortEnable(DataGridView dgv, DataGridViewColumnSortMode mode)
 {
     foreach (DataGridViewColumn c in dgv.Columns)
     {
         c.SortMode = mode;
     }
 }
Example #8
0
 public static void SetColumnSortMode(DataGridView dataGridView, DataGridViewColumnSortMode sortMode)
 {
     foreach (DataGridViewColumn column in dataGridView.Columns)
     {
         column.SortMode = sortMode;
     }
 }
Example #9
0
 public static void EstablecerSortModeEnColumnas(this DataGridView oGrid, DataGridViewColumnSortMode eSortMode)
 {
     foreach (DataGridViewColumn oCol in oGrid.Columns)
     {
         oCol.SortMode = eSortMode;
     }
 }
 public static void SetColumnSortMode(this DataGridView dataGridView, DataGridViewColumnSortMode sortMode)
 {
     foreach (var column in dataGridView.Columns)
     {
         //column.SortMode = sortMode;
     }
 }
Example #11
0
 private void SetGridViewColumnsSortMode(DataGridView gridView, DataGridViewColumnSortMode sortMode)
 {
     for (int i = 0; i < gridView.Columns.Count; i++)
     {
         gridView.Columns[i].SortMode = sortMode;
     }
 }
Example #12
0
        /// <summary>
        /// 是否允许DataGridView column 排序
        /// </summary>
        /// <param name="pDGV"></param>
        /// <param name="pSort"></param>
        private void DGVSort(DataGridView pDGV, bool pSort)
        {
            DataGridViewColumnSortMode tempMode = pSort ? DataGridViewColumnSortMode.Automatic : DataGridViewColumnSortMode.NotSortable;

            for (int i = 0; i < pDGV.Columns.Count; i++)
            {
                pDGV.Columns[i].SortMode = tempMode;
            }
        }
Example #13
0
 }                                                        // режим сортировка столбца
 /* Конструктор */
 public ColumnData(int id, bool frozen, string headerText, string name, bool readOnly, DataGridViewColumnSortMode sortMode)
 {
     Id         = id;
     Frozen     = frozen;
     HeaderText = headerText;
     Name       = name;
     ReadOnly   = readOnly;
     SortMode   = sortMode;
 }
Example #14
0
		public DataGridViewColumn () {
			cellTemplate = null;
			base.DefaultCellStyle = new DataGridViewCellStyle();
			readOnly = false;
			headerCell = new DataGridViewColumnHeaderCell();
			headerCell.SetColumnIndex(Index);
			headerCell.Value = string.Empty;
			displayIndex = -1;
			dataColumnIndex = -1;
			dataPropertyName = string.Empty;
			fillWeight = 100.0F;
			sortMode = DataGridViewColumnSortMode.NotSortable;
			SetState (DataGridViewElementStates.Visible);
		}
Example #15
0
 public void StoreSettings(DataGridView dataGridView1, int columnsIndex)
 {
     autoSizeColumnMode = dataGridView1.Columns[columnsIndex].AutoSizeMode;
     cellStyle = dataGridView1.Columns[columnsIndex].DefaultCellStyle;
     defaultHeaderCellType = dataGridView1.Columns[columnsIndex].DefaultHeaderCellType;
     frozen = dataGridView1.Columns[columnsIndex].Frozen;
     headerText = dataGridView1.Columns[columnsIndex].HeaderText;
     minimumWidth = dataGridView1.Columns[columnsIndex].MinimumWidth;
     name = dataGridView1.Columns[columnsIndex].Name;
     readOnly = dataGridView1.Columns[columnsIndex].ReadOnly;
     resizable = dataGridView1.Columns[columnsIndex].Resizable;
     sortMode = dataGridView1.Columns[columnsIndex].SortMode;
     width = dataGridView1.Columns[columnsIndex].Width;
 }
Example #16
0
 public void StoreSettings(DataGridView dataGridView1, int columnsIndex)
 {
     autoSizeColumnMode    = dataGridView1.Columns[columnsIndex].AutoSizeMode;
     cellStyle             = dataGridView1.Columns[columnsIndex].DefaultCellStyle;
     defaultHeaderCellType = dataGridView1.Columns[columnsIndex].DefaultHeaderCellType;
     frozen       = dataGridView1.Columns[columnsIndex].Frozen;
     headerText   = dataGridView1.Columns[columnsIndex].HeaderText;
     minimumWidth = dataGridView1.Columns[columnsIndex].MinimumWidth;
     name         = dataGridView1.Columns[columnsIndex].Name;
     readOnly     = dataGridView1.Columns[columnsIndex].ReadOnly;
     resizable    = dataGridView1.Columns[columnsIndex].Resizable;
     sortMode     = dataGridView1.Columns[columnsIndex].SortMode;
     width        = dataGridView1.Columns[columnsIndex].Width;
 }
Example #17
0
 public DataGridViewColumn()
 {
     cellTemplate          = null;
     base.DefaultCellStyle = new DataGridViewCellStyle();
     readOnly   = false;
     headerCell = new DataGridViewColumnHeaderCell();
     headerCell.SetColumnIndex(Index);
     headerCell.Value = string.Empty;
     displayIndex     = -1;
     dataColumnIndex  = -1;
     dataPropertyName = string.Empty;
     fillWeight       = 100.0F;
     sortMode         = DataGridViewColumnSortMode.NotSortable;
     SetState(DataGridViewElementStates.Visible);
 }
Example #18
0
 public ColumnDefinition(Type columnType, string title, string groupName = null, string dataPropertyName = null,
                         string name = null, int width = 100, DataGridViewColumnSortMode sortMode = DataGridViewColumnSortMode.Programmatic, SortOrder sortOrder = SortOrder.None, bool visible = true, int index = -1, bool frozen = false)
 {
     GroupName  = groupName;
     ColumnType = (columnType ?? throw new ArgumentNullException(nameof(columnType)))
                  .Is(typeof(DataGridViewColumn)) ? columnType :
                  throw new ArgumentException(columnType.ToString() + "不是有效的DataGridViewColumn!", nameof(columnType));
     Title            = title;
     DataPropertyName = dataPropertyName;
     Name             = name;
     Width            = width;
     SortMode         = sortMode;
     SortOrder        = sortOrder;
     Visible          = visible;
     Index            = index;
     Frozen           = frozen;
 }
        public SimpleDataGridViewColumn(
            DataGridViewAutoSizeColumnMode? autoSizeColumnMode,
            DataGridViewColumnHeaderCell headerCell,
            DataGridViewColumnSortMode? sortMode,
            Type defaultHeaderCellType, Type valueType,
            string dataPropertyName, string headerText, string name,
            int? dividerWidth, int? displayIndex, float? fillWeight, int? minWidth, int? width,
            DataGridViewCellStyle defaultCellStyle,
            bool resizable, bool? frozen, bool? readOnly, bool? visible)
        {
            InitializeNonVirtualProperties(
                autoSizeColumnMode, headerCell, sortMode,
                defaultHeaderCellType, valueType, dataPropertyName, headerText, name,
                dividerWidth, displayIndex, fillWeight, minWidth, width);

            InitializeVirtualProperties(defaultCellStyle, resizable, frozen, readOnly, visible);
        }
 public void InitializeNonVirtualProperties(
     DataGridViewAutoSizeColumnMode? autoSizeColumnMode,
     DataGridViewColumnHeaderCell headerCell, 
     DataGridViewColumnSortMode? sortMode,
     Type defaultHeaderCellType, Type valueType, 
     string dataPropertyName, string headerText, string name,
     int? dividerWidth, int? displayIndex, float? fillWeight, int? minWidth, int? width)
 {
     this.AutoSizeMode = autoSizeColumnMode ?? DataGridViewAutoSizeColumnMode.AllCells;
     this.DataPropertyName = dataPropertyName ?? "Text";
     this.DividerWidth = dividerWidth ?? 2;
     this.DisplayIndex = displayIndex ?? _defaultDisplayIndex++;
     this.FillWeight = fillWeight ?? 10;
     this.HeaderCell = headerCell ?? new DataGridViewColumnHeaderCell();
     this.HeaderText = headerText;
     this.MinimumWidth = minWidth ?? 50;
     this.Width = width ?? 100;
     this.Name = name;
     this.SortMode = sortMode ?? DataGridViewColumnSortMode.Programmatic;
     this.DefaultHeaderCellType = defaultHeaderCellType ?? Type.GetType("string");
     this.ValueType = valueType ?? Type.GetType("string");
     
 }
Example #21
0
 /// <summary>设置DataGridView列</summary>
 /// <param name="dgv">DataGridView</param>
 /// <param name="index">列索引</param>
 /// <param name="title">列名</param>
 /// <param name="width">宽度</param>
 /// <param name="readOnly">是否只读</param>
 /// <param name="visible">是否显示</param>
 /// <param name="dgvcs">列排序模式</param>
 public static void SetDataGridView(DataGridView dgv, int index, string title, int width, bool readOnly, bool visible, DataGridViewColumnSortMode dgvcs)
 {
     dgv.Columns[index].HeaderText = title;
     dgv.Columns[index].Width      = width;
     dgv.Columns[index].ReadOnly   = readOnly;
     dgv.Columns[index].Visible    = visible;
     dgv.Columns[index].SortMode   = dgvcs;
 }
        public void DataGridViewColumnCollection_Add_CustomColumnSortModeAndSelectionMode_Success(DataGridViewSelectionMode selectionMode, DataGridViewColumnSortMode sortMode)
        {
            using var control = new DataGridView
                  {
                      SelectionMode = selectionMode
                  };
            DataGridViewColumnCollection collection = control.Columns;

            using var column1 = new DataGridViewColumn(new SubDataGridViewCell())
                  {
                      SortMode = sortMode
                  };
            using var column2 = new DataGridViewColumn(new SubDataGridViewCell())
                  {
                      SortMode = sortMode
                  };

            // 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);
        }
Example #23
0
        static public DataGridViewComboBoxColumn AddDgvComboBox(object _DataSource, string _ValueMember, string _DisplayMember, string _DataPropertyName, string _HeaderText, int _Width, bool _Visible = true,
                                                                bool _ReadOnly = false, DgvAlign _Alignment = DgvAlign.N, DataGridViewColumnSortMode _Sort = DataGridViewColumnSortMode.Automatic,
                                                                DataGridViewAutoSizeColumnMode _AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet, string _Name = "")
        {
            var col = new DataGridViewComboBoxColumn
            {
                DataSource       = _DataSource,
                ValueMember      = _ValueMember,
                DisplayMember    = _DisplayMember,
                Name             = (_Name == "" ? _DataPropertyName : _Name),
                DataPropertyName = _DataPropertyName,
                HeaderText       = _HeaderText,
                DefaultCellStyle =
                {
                    Alignment = (DataGridViewContentAlignment)_Alignment
                },
                ReadOnly     = _ReadOnly,
                Visible      = _Visible,
                SortMode     = _Sort,
                AutoSizeMode = _AutoSizeMode,
                Width        = _Width
            };

            return(col);
        }
Example #24
0
        static public DataGridViewTextBoxColumn AddDgvTextBox(string _DataPropertyName, string _HeaderText, int _Width, bool _Visible = true, string _Format = "",
                                                              bool _ReadOnly = false, DgvAlign _Alignment = DgvAlign.N, DataGridViewColumnSortMode _Sort = DataGridViewColumnSortMode.Automatic,
                                                              DataGridViewAutoSizeColumnMode _AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet, string _Name = "")
        {
            var col = new DataGridViewTextBoxColumn
            {
                Name             = (_Name == "" ? _DataPropertyName : _Name),
                DataPropertyName = _DataPropertyName,
                HeaderText       = _HeaderText,
                DefaultCellStyle =
                {
                    Alignment = (DataGridViewContentAlignment)_Alignment,
                    Format    = _Format
                },
                ReadOnly     = _ReadOnly,
                Visible      = _Visible,
                SortMode     = _Sort,
                AutoSizeMode = _AutoSizeMode,
                Width        = _Width
            };

            return(col);
        }
Example #25
0
 public static DataGridViewColumn SetSortMode(this DataGridViewColumn column, DataGridViewColumnSortMode sortMode = DataGridViewColumnSortMode.Automatic)
 {
     column.SortMode = sortMode;
     return(column);
 }
Example #26
0
        /// <summary>
        /// 绑定DataGridView的数据
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="list"></param>
        /// <param name="dataGridView"></param>
        /// <param name="visiblePropertyName"></param>
        public static void BindingData <T>(IList <T> list, DataGridView dataGridView, params string[] visiblePropertyName)
        {
            // 设置数据源
            SortableBindingList <T> datasource = null;

            if (dataGridView.DataSource != null && dataGridView.DataSource as SortableBindingList <T> != null)
            {
                datasource = dataGridView.DataSource as SortableBindingList <T>;
                datasource.Clear();

                // 清除原有排序
                if (dataGridView.SortedColumn != null &&
                    dataGridView.SortOrder != SortOrder.None)
                {
                    DataGridViewColumn         column   = dataGridView.SortedColumn;
                    DataGridViewColumnSortMode sortMode = column.SortMode;

                    column.SortMode = DataGridViewColumnSortMode.NotSortable;
                    column.SortMode = sortMode;
                }
            }
            else
            {
                datasource = new SortableBindingList <T>();
                dataGridView.DataSource = datasource;

                #region 设置列头名称,以及哪些列显示
                //获取所有的字段信息
                //FieldInfo[] f = typeof(T).GetFields();
                PropertyInfo[] property = typeof(T).GetProperties();

                //遍历每个字段;
                for (int i = 0; i < property.Length; i++)
                {
                    //获取每个字段上所有的 Attribute
                    var attr = property[i].GetCustomAttributes(false);
                    DataGridViewColumn column = dataGridView.Columns[property[i].Name];

                    //// 设置列
                    //if (column == null)
                    //{
                    //    //声明一个新的列
                    //    column = new DataGridViewColumn();
                    //    column.Name = property[i].Name;
                    //    column.DataPropertyName = property[i].Name;
                    //    column.HeaderText = property[i].Name;

                    //    //定义单元格模板
                    //    DataGridViewTextBoxCell dgvcell = new DataGridViewTextBoxCell();//这里根据自己需要来定义不同模板。当前模板为“文本单元格”
                    //    column.CellTemplate = dgvcell;//设置模板
                    //    dataGridView.Columns.Add(column);
                    //}

                    // 设置显示名称
                    foreach (Attribute a in attr)
                    {
                        if (a is SModelPropertyAttribute)
                        {
                            string columnHeaderName = (a as SModelPropertyAttribute).Display;
                            if (null != columnHeaderName && columnHeaderName.Length > 0)
                            {
                                column.HeaderText = columnHeaderName;
                            }
                        }
                    }

                    // 设置是否显示
                    if (visiblePropertyName != null && visiblePropertyName.Length > 0)
                    {
                        if (visiblePropertyName.Contains(property[i].Name))
                        {
                            column.Visible = true;
                        }
                        else
                        {
                            column.Visible = false;
                        }
                    }
                }
                #endregion
            }

            if (list != null && list.Count > 0)
            {
                foreach (T entity in list)
                {
                    datasource.Add(entity);
                }
            }
        }
Example #27
0
        public static DataGridViewColumn CreateColumn(this DataGridView gridView, Type columnType, string title, string dataPropertyName = null, string name = null, int width = 100, DataGridViewColumnSortMode sortMode = DataGridViewColumnSortMode.Programmatic, SortOrder sortOrder = SortOrder.None, bool visible = true, int colIndex = -1, bool frozen = false)
        {
            DataGridViewColumn col = (DataGridViewColumn)Activator.CreateInstance(columnType, true);

            col.HeaderText       = title ?? throw new ArgumentNullException(nameof(title));
            col.DataPropertyName = dataPropertyName;
            col.Name             = name;
            col.Width            = width;
            col.FillWeight       = width;
            col.Visible          = visible;
            col.Frozen           = frozen;
            if (colIndex > -1)
            {
                gridView.Columns.Insert(colIndex, col);
            }
            else
            {
                gridView.Columns.Add(col);
            }
            if (!col.DataPropertyName.IsNullOrWhiteSpace())
            {
                col.SortMode = sortMode;
                col.HeaderCell.SortGlyphDirection = sortOrder;
            }
            return(col);
        }
Example #28
0
        public static void AddColumn(DataGridView dgv, string ColumnName, string DataName, bool readOnly = true, int width = 100, DataGridViewColumnSortMode sortAble = DataGridViewColumnSortMode.NotSortable, bool isShow = true)
        {
            DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();

            column.Name       = column.DataPropertyName = DataName;
            column.HeaderText = ColumnName;
            column.ReadOnly   = readOnly;
            column.Width      = width;
            column.SortMode   = sortAble;
            column.Visible    = isShow;
            dgv.Columns.Add(column);
        }
Example #29
0
		private void masterView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
		{
			try
			{
				DataGridViewCell cell = ((DataGridView) sender).CurrentCell;

			    string fieldName = cell.OwningColumn.HeaderText;
                if(fieldName.Contains( "."))
                {
                    string[] splitString = fieldName.Split('.');
                    fieldName = splitString[splitString.Length - 1];
                }
                IType fieldType = dbInteraction.GetFieldType(cell.OwningColumn.Tag.ToString(), fieldName);
                if (!fieldType.IsEditable)
				{
					e.Cancel = true;
					return;
				}

				btnSave.Enabled = true;
				EnsureDetailViewItemNotSelected();

				if (cell.Value != null)
					strstoreValue = cell.Value.ToString();

				sortStore = cell.OwningColumn.SortMode;
			}
			catch (Exception oEx)
			{
				LoggingHelper.ShowMessage(oEx);
			}
		}
 public static void SetColumnSortMode(this DataGridView dataGridView, DataGridViewColumnSortMode sortMode)
 {
     foreach (DataGridViewColumn column in dataGridView.Columns)
     {
         column.SortMode = sortMode;
     }
 }