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);
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
和 參數分別與 Name 和 headerText
HeaderText 屬性相關。