DataGrid.BeginEdit(DataGridColumnStyle, Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
嘗試將方格放入允許編輯的狀態中。
public:
virtual bool BeginEdit(System::Windows::Forms::DataGridColumnStyle ^ gridColumn, int rowNumber);
public bool BeginEdit (System.Windows.Forms.DataGridColumnStyle gridColumn, int rowNumber);
abstract member BeginEdit : System.Windows.Forms.DataGridColumnStyle * int -> bool
override this.BeginEdit : System.Windows.Forms.DataGridColumnStyle * int -> bool
Public Function BeginEdit (gridColumn As DataGridColumnStyle, rowNumber As Integer) As Boolean
參數
- gridColumn
- DataGridColumnStyle
要編輯的 DataGridColumnStyle。
- rowNumber
- Int32
要編輯的資料列編號。
傳回
如果方法成功,則為 true
,否則為 false
。
實作
範例
下列程式碼範例會 BeginEdit 使用 方法來測試是否可以在變更指定的資料行和資料列之前進行編輯。
private:
void EditGrid( DataGrid^ dataGrid1 )
{
// Get the selected row and column through the CurrentCell.
int colNum;
int rowNum;
colNum = dataGrid1->CurrentCell.ColumnNumber;
rowNum = dataGrid1->CurrentCell.RowNumber;
// Get the selected DataGridColumnStyle.
DataGridColumnStyle^ dgCol;
dgCol = dataGrid1->TableStyles[ 0 ]->GridColumnStyles[ colNum ];
// Invoke the BeginEdit method to see if editing can begin.
if ( dataGrid1->BeginEdit( dgCol, rowNum ) )
{
// Edit row value. Get the DataTable and selected row.
DataTable^ myTable;
DataRow^ myRow;
// Assuming the DataGrid is bound to a DataTable.
myTable = (DataTable^)(dataGrid1->DataSource);
myRow = myTable->Rows[ rowNum ];
// Invoke the Row object's BeginEdit method.
myRow->BeginEdit();
myRow[ colNum ] = "New Value";
// You must accept changes on both DataRow and DataTable.
myRow->AcceptChanges();
myTable->AcceptChanges();
dataGrid1->EndEdit( dgCol, rowNum, false );
}
else
{
Console::WriteLine( "BeginEdit failed" );
}
}
private void EditGrid(DataGrid dataGrid1){
// Get the selected row and column through the CurrentCell.
int colNum;
int rowNum;
colNum = dataGrid1.CurrentCell.ColumnNumber;
rowNum = dataGrid1.CurrentCell.RowNumber;
// Get the selected DataGridColumnStyle.
DataGridColumnStyle dgCol;
dgCol = dataGrid1.TableStyles[0].GridColumnStyles[colNum];
// Invoke the BeginEdit method to see if editing can begin.
if (dataGrid1.BeginEdit(dgCol, rowNum)){
// Edit row value. Get the DataTable and selected row.
DataTable myTable;
DataRow myRow;
// Assuming the DataGrid is bound to a DataTable.
myTable = (DataTable) dataGrid1.DataSource;
myRow = myTable.Rows[rowNum];
// Invoke the Row object's BeginEdit method.
myRow.BeginEdit();
myRow[colNum] = "New Value";
// You must accept changes on both DataRow and DataTable.
myRow.AcceptChanges();
myTable.AcceptChanges();
dataGrid1.EndEdit(dgCol, rowNum, false);
}
else{
Console.WriteLine("BeginEdit failed");
}
}
Private Sub EditGrid(dataGrid1 As DataGrid)
' Get the selected row and column through the CurrentCell.
Dim colNum As Integer
Dim rowNum As Integer
colNum = dataGrid1.CurrentCell.ColumnNumber
rowNum = dataGrid1.CurrentCell.RowNumber
' Get the selected DataGridColumnStyle.
Dim dgCol As DataGridColumnStyle
dgCol = dataGrid1.TableStyles(0).GridColumnStyles(colNum)
' Invoke the BeginEdit method to see if editing can begin.
If dataGrid1.BeginEdit(dgCol, rowNum) Then
' Edit row value. Get the DataTable and selected row.
Dim myTable As DataTable
Dim myRow As DataRow
' Assuming the DataGrid is bound to a DataTable.
myTable = CType(dataGrid1.DataSource, DataTable)
myRow = myTable.Rows(rowNum)
' Invoke the Row object's BeginEdit method.
myRow.BeginEdit()
myRow(colNum) = "New Value"
' You must accept changes on both DataRow and DataTable.
myRow.AcceptChanges()
myTable.AcceptChanges()
dataGrid1.EndEdit(dgCol, rowNum, False)
Else
Console.WriteLine("BeginEdit failed")
End If
End Sub
備註
如果使用者已開始在儲存格中輸入,方格將會拒絕編輯要求。 在此情況下,方法 BeginEdit 會傳回 false
。