예제 #1
1
		/// ------------------------------------------------------------------------------------
		public void InitializeGrid(DataGridView grid)
		{
			foreach (var col in Columns)
			{
				if (!grid.Columns.Contains(col.Id))
					continue;

				grid.Columns[col.Id].Visible = col.Visible;

				if (col.Width >= 0)
					grid.Columns[col.Id].Width = col.Width;

				if (col.DisplayIndex < 0)
					grid.Columns[col.Id].DisplayIndex = 0;
				else if (col.DisplayIndex >= grid.ColumnCount)
					grid.Columns[col.Id].DisplayIndex = grid.ColumnCount - 1;
				else
					grid.Columns[col.Id].DisplayIndex = col.DisplayIndex;
			}

			if (!string.IsNullOrEmpty(SortedColumn) && grid.Columns.Contains(SortedColumn))
				grid.Sort(grid.Columns[SortedColumn], SortOrder == SortOrder.Descending ? ListSortDirection.Descending : ListSortDirection.Ascending);

			// If the column header height or the former dpi settings are different,
			// then auto. calculate the height of the column headings.
			if (ColumnHeaderHeight <= 0 || DPI != m_currDpi)
				grid.AutoResizeColumnHeadersHeight();
			else
				grid.ColumnHeadersHeight = ColumnHeaderHeight;
		}
예제 #2
0
		/// ------------------------------------------------------------------------------------
		public void InitializeGrid(DataGridView grid)
		{
			foreach (var col in Columns)
			{
				if (!grid.Columns.Contains(col.Id))
					continue;

				grid.Columns[col.Id].Visible = col.Visible;

				if (col.Width >= 0 &&
					(grid.Columns[col.Id].AutoSizeMode == DataGridViewAutoSizeColumnMode.None ||
					grid.Columns[col.Id].AutoSizeMode == DataGridViewAutoSizeColumnMode.NotSet))
				{
					grid.Columns[col.Id].Width = col.Width;
				}
				else if (col.FillWeight > 0 && grid.Columns[col.Id].AutoSizeMode == DataGridViewAutoSizeColumnMode.Fill)
				{
					grid.Columns[col.Id].FillWeight = col.FillWeight;
				}

				if (col.DisplayIndex < 0)
					grid.Columns[col.Id].DisplayIndex = 0;
				else if (col.DisplayIndex >= grid.ColumnCount)
					grid.Columns[col.Id].DisplayIndex = grid.ColumnCount - 1;
				else
					grid.Columns[col.Id].DisplayIndex = col.DisplayIndex;
			}

			// If the column header height or the former dpi settings are different,
			// then auto. calculate the height of the column headings.
			if (ColumnHeaderHeight <= 0 || DPI != m_currDpi)
				grid.AutoResizeColumnHeadersHeight();
			else
				grid.ColumnHeadersHeight = ColumnHeaderHeight;
		}