DataGridViewColumnCollection.Add 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將給定欄位加入集合。
多載
| 名稱 | Description |
|---|---|
| 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財產價值為 AutomaticSelectionMode ,財產價值為 FullColumnSelect 或 ColumnHeaderSelect。 使用控制項 ISupportInitialize.BeginInit() 和 ISupportInitialize.EndInit() 方法暫時設定衝突屬性值。
-或-
dataGridViewColumn
InheritedAutoSizeMode財產價值為 ColumnHeaderColumnHeadersVisible ,財產價值為 false。
-或-
dataGridViewColumn 具有 InheritedAutoSizeMode 一個屬性值為 Fill ,一個 Frozen 屬性值為 true。
-或-
dataGridViewColumn 具有 FillWeight 一個屬性值,會導致控制中所有欄位的總值 FillWeight 超過65535。
-或-
dataGridViewColumn和DisplayIndexFrozen屬性值,這些值會將其顯示在相鄰欄位中,屬性值相反Frozen。
-或-
控制項DataGridView至少包含一列,屬性dataGridViewColumnCellType值為 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和headerText參數分別與和NameHeaderText性質相關。