Как заполнить datagridview c
Перейти к содержимому

Как заполнить datagridview c

  • автор:

C# DataGridView Как заполнить целый столбец значениями

а как заполнить весь третий столбец значениями 123123123 ? Я знаю, что через цикл, но как это сделать? Опишите, пожалуйста.

Отслеживать

2,713 1 1 золотой знак 13 13 серебряных знаков 25 25 бронзовых знаков

задан 9 мая 2017 в 8:13

1 1 1 серебряный знак 1 1 бронзовый знак

Не совсем понятна суть вопроса — вы пишете, что знаете и тут же спрашиваете — как это сделать.

9 мая 2017 в 8:18

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Если правильно понял о чем вопрос, то как-то так:

 for (int i=0;i

Отслеживать

ответ дан 9 мая 2017 в 8:41

Marchosias Marchosias

173 13 13 бронзовых знаков

Сценарии использования элементов управления DataGridView (Windows Forms)

С помощью элемента управления DataGridView можно отображать табличные данные из различных источников данных. В простых случаях можно заполнить элемент управления DataGridView данными вручную и работать с ними с его помощью напрямую. Однако обычно данные хранятся во внешнем источнике, к которому элемент управления привязывается с помощью компонента BindingSource.

В этом разделе описываются некоторые распространенные сценарии, включающие элемент управления DataGridView.

Сценарий 1. Отображение небольших объемов данных

Для отображения данных в элементе управления DataGridView их не обязательно хранить во внешнем источнике данных. Если вы работаете с небольшим объемом данных, то можете заполнить элемент управления самостоятельно и работать с данными с его помощью. Это называется режимом без привязки. Дополнительные сведения см. в статье Практическое руководство. Создание непривязанного элемента управления DataGridView в Windows Forms.

Основные особенности сценария

  • В режиме без привязки элемент управления заполняется вручную.
  • Режим без привязки особенно хорошо подходит для небольших объемов данных, доступных только для чтения.
  • Режим без привязки также подходит для электронных таблиц или разреженных таблиц.

Сценарий 2. Просмотр и обновление данных, хранящихся во внешнем источнике данных

Элемент управления DataGridView можно использовать как пользовательский интерфейс, через который пользователи могут получать доступ к данным, хранящимся в источнике данных, например таблице базы данных или коллекции бизнес-объектов. Дополнительные сведения см. в статье Практическое руководство. Привязка данных к элементу управления DataGridView в Windows Forms.

Основные особенности сценария

  • Режим с привязкой позволяет подключаться к источнику данных, автоматически создавать столбцы на основе свойств источника данных или столбцов базы данных и автоматически заполнять элемент управления.
  • Режим с привязкой подходит для сценариев интенсивного взаимодействия пользователей с данными. Данные можно форматировать для отображения, а заданные пользователем данные можно преобразовывать в формат, поддерживаемый источником данных. Можно обнаруживать ошибки форматирования при вводе данных и ошибки из-за ограничений базы данных, чтобы пользователи могли получать предупреждения и исправлять ячейки с ошибками.
  • Дополнительные функциональные возможности, такие как сортировка, фиксация и переупорядочение столбцов, позволяют пользователям просматривать данные наиболее удобным для рабочего процесса способом.
  • Поддержка буфера обмена позволяет пользователям копировать данные из вашего приложения в другие.

Сценарий 3. Расширенные данные

Если у вас есть особые потребности, которые стандартная модель привязки данных не удовлетворяет, вы можете управлять взаимодействием между элементом управления и данными, реализовав виртуальный режим. Реализация виртуального режима означает реализацию одного или нескольких обработчиков событий, которые позволяют элементу управления запрашивать сведения о ячейках по мере необходимости.

Например, при работе с большим объемом данных может потребоваться реализовать виртуальный режим, чтобы обеспечить оптимальную эффективность. Виртуальный режим также полезен для поддержания значений непривязанных столбцов, которые отображаются вместе со столбцами, полученными из другого источника данных.

Основные особенности сценария

  • Виртуальный режим подходит для отображения очень больших объемов данных при необходимости точной настройки производительности.

Сценарий 4. Автоматическое изменение размера строк и столбцов

Если данные регулярно обновляются, можно автоматически изменять размер строк и столбцов, чтобы отображалось все содержимое. Элемент управления DataGridView предоставляет несколько вариантов, позволяющих включать или отключать ручное изменение размера, изменять размер программным способом в определенное время или изменять размер автоматически при каждом изменении содержимого. Подробнее см. в статье Варианты изменения размеров элемента управления DataGridView в Windows Forms.

Основные особенности сценария

  • Изменение размера вручную позволяет пользователям настраивать высоту и ширину ячеек.
  • Автоматическое изменение размера позволяет поддерживать такие размеры ячеек, при которых их содержимое никогда не обрезается.
  • Программное изменение размера позволяет изменять размер ячеек в определенное время, чтобы избежать снижения производительности из-за постоянного автоматического изменения размера.

Сценарий 5. Простая настройка

Элемент управления DataGridView предоставляет множество способов изменения его внешнего вида и поведения. Подробнее см. в статье Стили ячеек элемента управления DataGridView в Windows Forms.

Основные особенности сценария

  • Объекты DataGridViewCellStyle позволяют предоставлять сведения о цвете, шрифте, форматировании и расположении на нескольких уровнях, а также для отдельных элементов.
  • Стили ячеек могут быть многоуровневыми и использоваться совместно несколькими элементами, что позволяет использовать код повторно.

Сценарий 6. Расширенная настройка

Элемент управления DataGridView предоставляет множество способов настройки его внешнего вида и поведения.

Основные особенности сценария

  • Вы можете предоставить собственный код рисования ячеек. Дополнительные сведения см. в статье Практическое руководство. Настройка внешнего вида ячеек элемента управления DataGridView в Windows Forms.
  • Вы можете предоставить собственный код рисования строк. Это полезно, например, для создания строк с содержимым, охватывающим несколько столбцов. Дополнительные сведения см. в статье Практическое руководство. Настройка внешнего вида строк элемента управления DataGridView в Windows Forms.
  • Вы можете реализовать собственные классы ячеек и столбцов для настройки внешнего вида ячеек. Дополнительные сведения см. в статье Практическое руководство. Дополнительные возможности управления внешним видом и поведением ячеек и столбцов элемента управления DataGridView в Windows Forms.
  • Вы можете реализовать собственные классы ячеек и столбцов для размещения элементов управления, отличных от предоставляемых встроенными типами столбцов. Дополнительные сведения см. в статье Практическое руководство. Размещение элементов управления в ячейках элемента управления DataGridView в Windows Forms.

См. также

  • DataGridView
  • Общие сведения об элементе управления DataGridView

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

Установка режимов заполнения для столбцов элемента управления DataGridView в Windows Forms

В режиме заполнения столбцов элемент управления DataGridView автоматически изменяет размер своих столбцов, чтобы они полностью заполняли доступную область отображения по ширине. Элемент управления не отображает горизонтальную полосу прокрутки, за исключением случаев, когда необходимо сохранить ширину каждого столбца равной или большей, чем значение его свойства MinimumWidth.

Поведение каждого столбца при изменении размера зависит от его свойства InheritedAutoSizeMode. Значение этого свойства наследуется от свойства AutoSizeMode или свойства элемента управления AutoSizeColumnsMode, если значение столбца равно NotSet (значение по умолчанию).

Каждый столбец может иметь свой режим определения размера, но все столбцы с режимом определения размера Fill будут совместно использовать ту ширину области отображения, которая не занята другими столбцами. Эта ширина распределяется между столбцами с заполнением пропорционально значениям их свойств FillWeight. Например, если два столбца имеют значения FillWeight, равные 100 и 200, то первый столбец будет иметь половину от ширины второго столбца.

Изменение размера пользователем в режиме заполнения

В отличие от режимов определения размера на основе содержимого ячейки, режим заполнения запрещает пользователям изменение размеров столбцов, имеющих значения свойстваResizable, равные true . При изменении пользователем размера столбца в режиме заполнения все столбцы с заполнением после столбца с измененным размером (справа от него, если RightToLeft равно false , в противном случае — слева) также меняются, чтобы компенсировать изменение на доступную ширину. Если после столбца с измененным размером нет столбцов с заполнением, то размеры всех остальных столбцов с заполнением в элементе управления изменяются для компенсации. Если в элементе управления нет других столбцов с заполнением, то изменение размера игнорируется. Если изменяется размер столбца, который не находится в режиме заполнения, то размеры всех столбцов с заполнением в элементе управления изменяются для компенсации.

После изменения размера столбца с заполнением значения FillWeight для всех измененных столбцов будут пропорционально скорректированы. Например, если четыре столбца с заполнением имеют значения FillWeight, равные 100, то уменьшение ширины второго столбца в два раза приведет к изменению значений FillWeight в 100, 50, 125 и 125. Изменение размера столбца без заполнения не приведет к изменению значения FillWeight, поскольку столбцы с заполнением просто компенсируют изменения, чтобы сохранить соотношения.

Коррекция на основе содержимого FillWeight

Для столбцов с заполнением можно инициализировать значения FillWeight, используя методы автоматического изменения размера DataGridView, такие как метод AutoResizeColumns. Этот метод сначала вычисляет ширину столбцов, необходимую для отображения их содержимого. Затем элемент управления корректирует значения FillWeight для всех столбцов с заполнением, чтобы их соотношение соответствовало соотношению рассчитанных значений ширины. И наконец, элемент управления изменяет размеры столбцов с заполнением с использованием нового соотношения FillWeight, таким образом, чтобы все столбцы в элементе управления заполняли доступное пространство по горизонтали.

Пример

Description

Поведение размеров столбцов для различных сценариев можно настроить, используя соответствующие значения для свойств AutoSizeMode, MinimumWidth, FillWeight и Resizable.

В следующем примере кода можно поэкспериментировать с различными значениями для свойств AutoSizeMode, FillWeight и MinimumWidth различных столбцов. В этом примере элемент управления DataGridView привязан к собственной коллекции Columns, а один столбец связан с каждым из свойств HeaderText, AutoSizeMode, FillWeight, MinimumWidth и Width. Каждый из столбцов также представлен строкой в элементе управления, и изменение значений в строке приведет к обновлению свойства соответствующего столбца, чтобы можно было увидеть взаимодействие значений.

Код

using System; using System.ComponentModel; using System.Reflection; using System.Windows.Forms; public class Form1 : Form < [STAThread] public static void Main() < Application.Run(new Form1()); >private DataGridView dataGridView1 = new DataGridView(); public Form1() < dataGridView1.Dock = DockStyle.Fill; Controls.Add(dataGridView1); InitializeDataGridView(); Width *= 2; Text = "Column Fill-Mode Demo"; >private void InitializeDataGridView() < // Add columns to the DataGridView, binding them to the // specified DataGridViewColumn properties. AddReadOnlyColumn("HeaderText", "Column"); AddColumn("AutoSizeMode"); AddColumn("FillWeight"); AddColumn("MinimumWidth"); AddColumn("Width"); // Bind the DataGridView to its own Columns collection. dataGridView1.AutoGenerateColumns = false; dataGridView1.DataSource = dataGridView1.Columns; // Configure the DataGridView so that users can manually change // only the column widths, which are set to fill mode. dataGridView1.AllowUserToAddRows = false; dataGridView1.AllowUserToDeleteRows = false; dataGridView1.AllowUserToResizeRows = false; dataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing; dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing; dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; // Configure the top left header cell as a reset button. dataGridView1.TopLeftHeaderCell.Value = "reset"; dataGridView1.TopLeftHeaderCell.Style.ForeColor = System.Drawing.Color.Blue; // Add handlers to DataGridView events. dataGridView1.CellClick += new DataGridViewCellEventHandler(dataGridView1_CellClick); dataGridView1.ColumnWidthChanged += new DataGridViewColumnEventHandler(dataGridView1_ColumnWidthChanged); dataGridView1.CurrentCellDirtyStateChanged += new EventHandler(dataGridView1_CurrentCellDirtyStateChanged); dataGridView1.DataError += new DataGridViewDataErrorEventHandler(dataGridView1_DataError); dataGridView1.CellEndEdit += new DataGridViewCellEventHandler(dataGridView1_CellEndEdit); dataGridView1.CellValueChanged += new DataGridViewCellEventHandler(dataGridView1_CellValueChanged); >private void AddReadOnlyColumn(String dataPropertyName, String columnName) < AddColumn(typeof(DataGridViewColumn), dataPropertyName, true, columnName); >private void AddColumn(String dataPropertyName) < AddColumn(typeof(DataGridViewColumn), dataPropertyName, false, dataPropertyName); >// Adds a column to the DataGridView control, binding it to specified // property of the specified type and optionally making it read-only. private void AddColumn( Type type, String dataPropertyName, Boolean readOnly, String columnName) < // Retrieve information about the property through reflection. PropertyInfo property = type.GetProperty(dataPropertyName); // Confirm that the property exists and is accessible. if (property == null) throw new ArgumentException("No accessible " + dataPropertyName + " property was found in the " + type.Name + " type."); // Confirm that the property is browsable. BrowsableAttribute[] browsables = (BrowsableAttribute[]) property.GetCustomAttributes(typeof(BrowsableAttribute), false); if (browsables.Length >0 && !browsables[0].Browsable) < throw new ArgumentException("The " + dataPropertyName + " property has a " + "Browsable(false) attribute, and therefore cannot be bound."); >// Create and initialize a column, using a combo box column for // enumeration properties, a check box column for Boolean properties, // and a text box column otherwise. DataGridViewColumn column; Type valueType = property.PropertyType; if (valueType.IsEnum) < column = new DataGridViewComboBoxColumn(); // Populate the drop-down list with the enumeration values. ((DataGridViewComboBoxColumn)column).DataSource = Enum.GetValues(valueType); >else if (valueType.Equals(typeof(Boolean))) < column = new DataGridViewCheckBoxColumn(); >else < column = new DataGridViewTextBoxColumn(); >// Initialize and bind the column. column.ValueType = valueType; column.Name = columnName; column.DataPropertyName = dataPropertyName; column.ReadOnly = readOnly; // Add the column to the control. dataGridView1.Columns.Add(column); > private void ResetDataGridView() < dataGridView1.CancelEdit(); dataGridView1.Columns.Clear(); dataGridView1.DataSource = null; InitializeDataGridView(); >private void dataGridView1_CellClick( object sender, DataGridViewCellEventArgs e) < if (e.ColumnIndex == -1 && e.RowIndex == -1) < ResetDataGridView(); >> private void dataGridView1_ColumnWidthChanged( object sender, DataGridViewColumnEventArgs e) < // Invalidate the row corresponding to the column that changed // to ensure that the FillWeight and Width entries are updated. dataGridView1.InvalidateRow(e.Column.Index); >private void dataGridView1_CurrentCellDirtyStateChanged( object sender, EventArgs e) < // For combo box and check box cells, commit any value change as soon // as it is made rather than waiting for the focus to leave the cell. if (!dataGridView1.CurrentCell.OwningColumn.GetType() .Equals(typeof(DataGridViewTextBoxColumn))) < dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit); >> private void dataGridView1_DataError( object sender, DataGridViewDataErrorEventArgs e) < if (e.Exception == null) return; // If the user-specified value is invalid, cancel the change // and display the error icon in the row header. if ((e.Context & DataGridViewDataErrorContexts.Commit) != 0 && (typeof(FormatException).IsAssignableFrom(e.Exception.GetType()) || typeof(ArgumentException).IsAssignableFrom(e.Exception.GetType()))) < dataGridView1.Rows[e.RowIndex].ErrorText = "The specified value is invalid."; e.Cancel = true; >else < // Rethrow any exceptions that aren't related to the user input. e.ThrowException = true; >> private void dataGridView1_CellEndEdit( object sender, DataGridViewCellEventArgs e) < // Ensure that the error icon in the row header is hidden. dataGridView1.Rows[e.RowIndex].ErrorText = ""; >private void dataGridView1_CellValueChanged( object sender, DataGridViewCellEventArgs e) < // Retrieve the property to change. String nameOfPropertyToChange = dataGridView1.Columns[e.ColumnIndex].Name; PropertyInfo propertyToChange = typeof(DataGridViewColumn).GetProperty(nameOfPropertyToChange); // Retrieve the column to change. String nameOfColumnToChange = (String)dataGridView1["Column", e.RowIndex].Value; DataGridViewColumn columnToChange = dataGridView1.Columns[nameOfColumnToChange]; // Use reflection to update the value of the column property. propertyToChange.SetValue(columnToChange, dataGridView1[nameOfPropertyToChange, e.RowIndex].Value, null); >> 
Imports System.ComponentModel Imports System.Reflection Imports System.Windows.Forms Public Class Form1 Inherits Form _ Public Shared Sub Main() Application.Run(New Form1()) End Sub Private WithEvents dataGridView1 As New DataGridView() Public Sub New() dataGridView1.Dock = DockStyle.Fill Controls.Add(dataGridView1) InitializeDataGridView() Width = Width * 2 Text = "Column Fill-Mode Demo" End Sub Private Sub InitializeDataGridView() ' Add columns to the DataGridView, binding them to the ' specified DataGridViewColumn properties. AddReadOnlyColumn("HeaderText", "Column") AddColumn("AutoSizeMode") AddColumn("FillWeight") AddColumn("MinimumWidth") AddColumn("Width") ' Bind the DataGridView to its own Columns collection. dataGridView1.AutoGenerateColumns = False dataGridView1.DataSource = dataGridView1.Columns ' Configure the DataGridView so that users can manually change ' only the column widths, which are set to fill mode. dataGridView1.AllowUserToAddRows = False dataGridView1.AllowUserToDeleteRows = False dataGridView1.AllowUserToResizeRows = False dataGridView1.RowHeadersWidthSizeMode = _ DataGridViewRowHeadersWidthSizeMode.DisableResizing dataGridView1.ColumnHeadersHeightSizeMode = _ DataGridViewColumnHeadersHeightSizeMode.DisableResizing dataGridView1.AutoSizeColumnsMode = _ DataGridViewAutoSizeColumnsMode.Fill ' Configure the top left header cell as a reset button. dataGridView1.TopLeftHeaderCell.Value = "reset" dataGridView1.TopLeftHeaderCell.Style.ForeColor = _ System.Drawing.Color.Blue End Sub Private Sub AddReadOnlyColumn(ByVal dataPropertyName As String, _ ByVal columnName As String) AddColumn(GetType(DataGridViewColumn), dataPropertyName, True, _ columnName) End Sub Private Sub AddColumn(ByVal dataPropertyName As String) AddColumn(GetType(DataGridViewColumn), dataPropertyName, False, _ dataPropertyName) End Sub ' Adds a column to the DataGridView control, binding it to specified ' property of the specified type and optionally making it read-only. Private Sub AddColumn( _ ByVal type As Type, _ ByVal dataPropertyName As String, _ ByVal isReadOnly As Boolean, _ ByVal columnName As String) ' Retrieve information about the property through reflection. Dim propertyInfo1 As PropertyInfo = type.GetProperty(dataPropertyName) ' Confirm that the property exists and is accessible. If propertyInfo1 Is Nothing Then Throw New ArgumentException("No accessible " & dataPropertyName & _ " property was found in the " & type.Name & " type.") End If ' Confirm that the property is browsable. Dim browsables As BrowsableAttribute() = CType( _ propertyInfo1.GetCustomAttributes(GetType(BrowsableAttribute), _ False), BrowsableAttribute()) If browsables.Length > 0 AndAlso Not browsables(0).Browsable Then Throw New ArgumentException("The " & dataPropertyName & " property has a " & _ "Browsable(false) attribute, and therefore cannot be bound.") End If ' Create and initialize a column, using a combo box column for ' enumeration properties, a check box column for Boolean properties, ' and a text box column otherwise. Dim column As DataGridViewColumn Dim valueType As Type = propertyInfo1.PropertyType If valueType.IsEnum Then column = New DataGridViewComboBoxColumn() ' Populate the drop-down list with the enumeration values. CType(column, DataGridViewComboBoxColumn).DataSource = _ [Enum].GetValues(valueType) ElseIf valueType.Equals(GetType(Boolean)) Then column = New DataGridViewCheckBoxColumn() Else column = New DataGridViewTextBoxColumn() End If ' Initialize and bind the column. column.ValueType = valueType column.Name = columnName column.DataPropertyName = dataPropertyName column.ReadOnly = isReadOnly ' Add the column to the control. dataGridView1.Columns.Add(column) End Sub Private Sub ResetDataGridView() dataGridView1.CancelEdit() dataGridView1.Columns.Clear() dataGridView1.DataSource = Nothing InitializeDataGridView() End Sub Private Sub dataGridView1_CellClick( _ ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) _ Handles dataGridView1.CellClick If e.ColumnIndex = -1 AndAlso e.RowIndex = -1 Then ResetDataGridView() End If End Sub Private Sub dataGridView1_ColumnWidthChanged( _ ByVal sender As Object, ByVal e As DataGridViewColumnEventArgs) _ Handles dataGridView1.ColumnWidthChanged ' Invalidate the row corresponding to the column that changed ' to ensure that the FillWeight and Width entries are updated. dataGridView1.InvalidateRow(e.Column.Index) End Sub Private Sub dataGridView1_CurrentCellDirtyStateChanged( _ ByVal sender As Object, ByVal e As EventArgs) _ Handles dataGridView1.CurrentCellDirtyStateChanged ' For combo box and check box cells, commit any value change as soon ' as it is made rather than waiting for the focus to leave the cell. If Not dataGridView1.CurrentCell.OwningColumn.GetType() _ .Equals(GetType(DataGridViewTextBoxColumn)) Then dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit) End If End Sub Private Sub dataGridView1_DataError( _ ByVal sender As Object, ByVal e As DataGridViewDataErrorEventArgs) _ Handles dataGridView1.DataError If e.Exception Is Nothing Then Return ' If the user-specified value is invalid, cancel the change ' and display the error icon in the row header. If Not (e.Context And DataGridViewDataErrorContexts.Commit) = 0 AndAlso _ (GetType(FormatException).IsAssignableFrom(e.Exception.GetType()) Or _ GetType(ArgumentException).IsAssignableFrom(e.Exception.GetType())) Then dataGridView1.Rows(e.RowIndex).ErrorText = e.Exception.Message e.Cancel = True Else ' Rethrow any exceptions that aren't related to the user input. e.ThrowException = True End If End Sub Private Sub dataGridView1_CellEndEdit( _ ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) _ Handles dataGridView1.CellEndEdit ' Ensure that the error icon in the row header is hidden. dataGridView1.Rows(e.RowIndex).ErrorText = "" End Sub Private Sub dataGridView1_CellValueChanged( _ ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) _ Handles dataGridView1.CellValueChanged ' Ignore the change to the top-left header cell. If e.ColumnIndex < 0 Then Return ' Retrieve the property to change. Dim nameOfPropertyToChange As String = _ dataGridView1.Columns(e.ColumnIndex).Name Dim propertyToChange As PropertyInfo = _ GetType(DataGridViewColumn).GetProperty(nameOfPropertyToChange) ' Retrieve the column to change. Dim nameOfColumnToChange As String = _ CStr(dataGridView1("Column", e.RowIndex).Value) Dim columnToChange As DataGridViewColumn = _ dataGridView1.Columns(nameOfColumnToChange) ' Use reflection to update the value of the column property. propertyToChange.SetValue(columnToChange, _ dataGridView1(nameOfPropertyToChange, e.RowIndex).Value, Nothing) End Sub End Class 

Комментарии

Использование этого демонстрационного приложения.

  • Измените размер формы. Обратите внимание, как изменяется ширина столбцов и одновременно сохраняются пропорции, указанные значениями свойства FillWeight.
  • Измените размеры столбцов, перетаскивая их разделители с помощью мыши. Обратите внимание, как изменяются значения FillWeight.
  • Измените значение MinimumWidth для одного столбца, а затем перетащите для изменения размеров формы. Обратите внимание, что при достаточном уменьшении размера формы, значения Width не становятся меньше значений MinimumWidth.
  • Измените значения MinimumWidth для всех столбцов на большие числа, чтобы суммарное значение было больше ширины элемента управления. Обратите внимание, как появляется горизонтальная полоса прокрутки.
  • Измените значения AutoSizeMode для некоторых столбцов. Наблюдайте результат при изменении размера столбцов или формы.

Компиляция кода

Для этого примера требуются:

  • ссылки на сборки System, System.Drawing и System.Windows.Forms.

См. также

  • DataGridView
  • DataGridView.AutoResizeColumns
  • DataGridView.AutoSizeColumnsMode
  • DataGridViewAutoSizeColumnsMode
  • DataGridViewColumn
  • DataGridViewColumn.InheritedAutoSizeMode
  • DataGridViewColumn.AutoSizeMode
  • DataGridViewAutoSizeColumnMode
  • DataGridViewColumn.FillWeight
  • DataGridViewColumn.MinimumWidth
  • DataGridViewColumn.Width
  • DataGridViewColumn.Resizable
  • Control.RightToLeft
  • Изменение размера столбцов и строк элемента управления DataGridView в Windows Forms

Вопросы с меткой [datagridview]

DataGridView - это элемент управления, позволяющий отображать данные в табличном формате, в настраиваемой сетке.

411 вопросов
Конкурсные
Неотвеченные

  • Конкурсные 0
  • Неотвеченные
  • Цитируемые
  • Рейтинг
  • Неотвеченные (мои метки)

13 показов

Появляется ошибка: : 'Ссылка на объект не указывает на экземпляр объекта.' при вызове метода Change() [дубликат]

У меня есть программа с 2-мя формами (программа подключена к базе данных сервера MSql). В первой форме есть dataGridView1, она отображает данные из базы, когда я нажимаю на одну из тех строк в .

задан 13 апр 2023 в 19:20
47 показов

Сохранение информации из GridView

Я сейчас в школе учусь пользоваться GridView. У меня есть таблица GridView со всей информацией пользователей. Когда я хочу делать UpdateRow, мы должны имя, фамилию, номер телефона и другие данные .

задан 7 мар 2023 в 19:58
202 показа

Не добавляется новый источник данных с помощью UI конструктора

Использую Windows Forms .NET 6.0. К элементу DataGridView пытаюсь добавить источник данных. Выбираю класс, свойства которого я хочу видеть в элементе. https://i.stack.imgur.com/XRI7R.png Нажимаю ОК и .

задан 1 мар 2023 в 18:51

Открыть таблицу DataGridView с ComboBox из файла

Есть таблица с учениками, номерами занятий и оценками. (Оценки выставляются из коллекции комбобоксов). Сохраняется это всё таким образом (работает идеально): private void button6_Click(object sender, .

задан 27 фев 2023 в 20:21
252 показа

В dataGridView не получается вывести элементы массива C#

сообщество! Я ещё студент и имею немного опыта в WinForms, нужно по заданию сгенерировать массив из N количества случайных чисел (одномерный массив) в элемент dataGridView. При попытке сгенерировать - .

задан 9 фев 2023 в 12:32
47 показов

Как сделать фильтрацию данных в DataGridView в WinForms

Есть ComboBox с данными коллекции департаментов. Есть DataGridView с данными коллекции рабочих. Нужно, чтобы при выборе департамента в ComboBox, DataGridView отображал только тех рабочих, которые .

задан 23 янв 2023 в 21:04
75 показов

Как заполнить из массива сразу несколько столбцов в DataGridView через DataSource?

Пытаюсь заполнить сразу несколько столбцов строками в DataView через DataSource. Удалось заполнить только один - код ниже. Интересно, как работает DataSource в данном случае, почему просто не .

задан 8 янв 2023 в 16:01

Как заменить значения в строках DataGridView из автоматически сгенерированных на свои?

Кому не сложно, подскажите такой момент: есть DataGridView, столбцы которого создаются в коде. dataGridView1.Columns.AddRange( new DataGridViewTextBoxColumn() < Name = "clmID", .

задан 26 дек 2022 в 15:53
125 показов

Как быстрее всего заполнить DataTable (для DataGridView)?

Конкретным новичком себя назвать не могу, раньше уже с С# дело имела, как и с DataGridView (дальше DGV), но раньше до скорости загрузки данных дела не было (данных было мало, да и сами БД по структуре .

задан 25 дек 2022 в 12:41
60 показов

В чем ошибка фильтрации диапазона дат DataGridView SQLite?

На форме таблицы оценок нужно сделать фильтрацию по дате. Есть два DateTimePicker - стартовое и конечное значение даты. Сначала создается такая же таблица как без фильтрации, затем проходиться циклом .

задан 9 дек 2022 в 12:52
35 показов

c# datagridview не сохраняет без enter

DataGridView почему то отправляет данные в БД (MS Server), только если я при вводе в табличку (при ее изменение) нажимал на Enter или если я через button update табличку. Как сделать чтобы без нажатий .

задан 29 ноя 2022 в 22:11
38 показов

Почему LINQ ищет только то что указано в одном блоке if а всё остальное нет

Приветсвую! Проблема с LINQ! Не понимаю почему он ищет только минимальный элемент а максимальный искать отказывается(это проявляется в том что таблица dataGridView не изменяеться Вот код private void .

задан 29 ноя 2022 в 19:17
46 показов

Как отобразить данные в dataGridView после осуществления поиска LINQ

Перейду сразу к сути дела! Есть dataGridView, в нем изначально отображены продукты(в моем случае это еда из макдональдса по типу наггетсов, бургеров и прочего). В этом отображении показана информация .

задан 28 ноя 2022 в 10:41
59 показов

Как реализовать поиск с помощью LINQ в dataGridView?

Здраствуйте! Возникла проблема с поиском с использованием LINQ в элементе управления dataGridView В него добавлены товары. товар описан как класс. Он реализуется вот так: public class Product < .

задан 27 ноя 2022 в 18:50

Почему не работает проверка добавления в DataGridView при существовании такого же поля

Нужно создать проверку добавления или изменения учебного предмета. Если введенное название и класс уже есть то должна срабатывать ошибка, чего не происходит :c Вот сама проверка: public static bool .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *