DataGridViewColumnCollection.Add 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将给定的列添加到集合。
重载
Add(DataGridViewColumn) |
将给定的列添加到集合。 |
Add(String, String) |
将具有给定列名和列标题文本的 DataGridViewTextBoxColumn 添加到集合中。 |
Add(DataGridViewColumn)
将给定的列添加到集合。
public:
virtual int Add(System::Windows::Forms::DataGridViewColumn ^ dataGridViewColumn);
public virtual int Add (System.Windows.Forms.DataGridViewColumn dataGridViewColumn);
abstract member Add : System.Windows.Forms.DataGridViewColumn -> int
override this.Add : System.Windows.Forms.DataGridViewColumn -> int
Public Overridable Function Add (dataGridViewColumn As DataGridViewColumn) As Integer
参数
- dataGridViewColumn
- DataGridViewColumn
要添加的 DataGridViewColumn。
返回
列的索引。
例外
dataGridViewColumn
为 null
。
关联的 DataGridView 控件正在执行以下操作之一,该操作暂时禁止添加新列:
选择控件中的所有单元格。
清除选定内容。
更新列 DisplayIndex 属性值。
或 - 正在从以下 DataGridView 事件之一的处理程序调用此方法:
或 -
dataGridViewColumn
已属于 DataGridView 控件。或 -
dataGridViewColumn
SortMode 属性值为 Automatic 和 SelectionMode 属性值为 FullColumnSelect 或 ColumnHeaderSelect。 使用该控件的 ISupportInitialize.BeginInit() 和 ISupportInitialize.EndInit() 方法可暂时设置冲突的属性值。或 -
dataGridViewColumn
InheritedAutoSizeMode 属性值为 ColumnHeader,ColumnHeadersVisible 属性值为false
。或 -
dataGridViewColumn
的 InheritedAutoSizeMode 属性值为 Fill,Frozen 属性值为true
。或 -
dataGridViewColumn
的 FillWeight 属性值会导致控件中所有列的组合 FillWeight 值超过 65535。或 -
dataGridViewColumn
的 DisplayIndex 和 Frozen 属性值会在具有相反的 Frozen 属性值的一组相邻列中显示它。或 - DataGridView 控件至少包含一行,且
dataGridViewColumn
的 CellType 的属性值为null
。
示例
下面的代码示例演示了此方法的使用。
private DataGridView dataGridView1 = new DataGridView();
private void AddColorColumn()
{
DataGridViewComboBoxColumn comboBoxColumn =
new DataGridViewComboBoxColumn();
comboBoxColumn.Items.AddRange(
Color.Red, Color.Yellow, Color.Green, Color.Blue);
comboBoxColumn.ValueType = typeof(Color);
dataGridView1.Columns.Add(comboBoxColumn);
dataGridView1.EditingControlShowing +=
new DataGridViewEditingControlShowingEventHandler(
dataGridView1_EditingControlShowing);
}
private void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
ComboBox combo = e.Control as ComboBox;
if (combo != null)
{
// Remove an existing event-handler, if present, to avoid
// adding multiple handlers when the editing control is reused.
combo.SelectedIndexChanged -=
new EventHandler(ComboBox_SelectedIndexChanged);
// Add the event handler.
combo.SelectedIndexChanged +=
new EventHandler(ComboBox_SelectedIndexChanged);
}
}
private void ComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
((ComboBox)sender).BackColor = (Color)((ComboBox)sender).SelectedItem;
}
Private WithEvents dataGridView1 As New DataGridView()
Private Sub AddColorColumn()
Dim comboBoxColumn As New DataGridViewComboBoxColumn()
comboBoxColumn.Items.AddRange( _
Color.Red, Color.Yellow, Color.Green, Color.Blue)
comboBoxColumn.ValueType = GetType(Color)
dataGridView1.Columns.Add(comboBoxColumn)
End Sub
Private Sub dataGridView1_EditingControlShowing(ByVal sender As Object, _
ByVal e As DataGridViewEditingControlShowingEventArgs) _
Handles dataGridView1.EditingControlShowing
Dim combo As ComboBox = CType(e.Control, ComboBox)
If (combo IsNot Nothing) Then
' Remove an existing event-handler, if present, to avoid
' adding multiple handlers when the editing control is reused.
RemoveHandler combo.SelectedIndexChanged, _
New EventHandler(AddressOf ComboBox_SelectedIndexChanged)
' Add the event handler.
AddHandler combo.SelectedIndexChanged, _
New EventHandler(AddressOf ComboBox_SelectedIndexChanged)
End If
End Sub
Private Sub ComboBox_SelectedIndexChanged( _
ByVal sender As Object, ByVal e As EventArgs)
Dim comboBox1 As ComboBox = CType(sender, ComboBox)
comboBox1.BackColor = _
CType(CType(sender, ComboBox).SelectedItem, Color)
End Sub
另请参阅
适用于
Add(String, String)
将具有给定列名和列标题文本的 DataGridViewTextBoxColumn 添加到集合中。
public:
virtual int Add(System::String ^ columnName, System::String ^ headerText);
public virtual int Add (string columnName, string headerText);
abstract member Add : string * string -> int
override this.Add : string * string -> int
Public Overridable Function Add (columnName As String, headerText As String) As Integer
参数
- columnName
- String
将用来指代列的名称。
- headerText
- String
该列的标题的文本。
返回
列的索引。
例外
关联的 DataGridView 控件正在执行以下操作之一,该操作暂时禁止添加新列:
选择控件中的所有单元格。
清除选定内容。
更新列 DisplayIndex 属性值。
或 - 正在从以下 DataGridView 事件之一的处理程序调用此方法:
或 - SelectionMode 属性值为 FullColumnSelect 或 ColumnHeaderSelect,该值与 SortMode 的默认列 Automatic 属性值冲突。
或 - 默认列 FillWeight 属性值 100 会导致控件中所有列的组合 FillWeight 值超过 65535。
注解
和columnName``headerText
参数分别与NameHeaderText属性相关。