DataGridColumnStyle.Edit 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
準備儲存格,以進行數值編輯作業。
多載
Edit(CurrencyManager, Int32, Rectangle, Boolean) |
準備儲存格以進行編輯作業。 |
Edit(CurrencyManager, Int32, Rectangle, Boolean, String) |
使用指定的 CurrencyManager、資料列編號和 Rectangle 參數準備儲存格以進行編輯作業。 |
Edit(CurrencyManager, Int32, Rectangle, Boolean, String, Boolean) |
在衍生類別中覆寫時,準備儲存格以進行編輯作業。 |
Edit(CurrencyManager, Int32, Rectangle, Boolean)
準備儲存格以進行編輯作業。
protected public:
virtual void Edit(System::Windows::Forms::CurrencyManager ^ source, int rowNum, System::Drawing::Rectangle bounds, bool readOnly);
protected internal virtual void Edit (System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly);
abstract member Edit : System.Windows.Forms.CurrencyManager * int * System.Drawing.Rectangle * bool -> unit
override this.Edit : System.Windows.Forms.CurrencyManager * int * System.Drawing.Rectangle * bool -> unit
Protected Friend Overridable Sub Edit (source As CurrencyManager, rowNum As Integer, bounds As Rectangle, readOnly As Boolean)
參數
- rowNum
- Int32
要編輯的資料列編號。
- readOnly
- Boolean
數值,指出資料行是否唯讀。 如果該值為唯讀,則為 true
,否則為 false
。
備註
一般而言,方法會將 Edit 控制項放在要編輯之儲存格位置的方格上。
適用於
Edit(CurrencyManager, Int32, Rectangle, Boolean, String)
使用指定的 CurrencyManager、資料列編號和 Rectangle 參數準備儲存格以進行編輯作業。
protected public:
virtual void Edit(System::Windows::Forms::CurrencyManager ^ source, int rowNum, System::Drawing::Rectangle bounds, bool readOnly, System::String ^ instantText);
protected public:
virtual void Edit(System::Windows::Forms::CurrencyManager ^ source, int rowNum, System::Drawing::Rectangle bounds, bool readOnly, System::String ^ displayText);
protected internal virtual void Edit (System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly, string instantText);
protected internal virtual void Edit (System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly, string displayText);
abstract member Edit : System.Windows.Forms.CurrencyManager * int * System.Drawing.Rectangle * bool * string -> unit
override this.Edit : System.Windows.Forms.CurrencyManager * int * System.Drawing.Rectangle * bool * string -> unit
abstract member Edit : System.Windows.Forms.CurrencyManager * int * System.Drawing.Rectangle * bool * string -> unit
override this.Edit : System.Windows.Forms.CurrencyManager * int * System.Drawing.Rectangle * bool * string -> unit
Protected Friend Overridable Sub Edit (source As CurrencyManager, rowNum As Integer, bounds As Rectangle, readOnly As Boolean, instantText As String)
Protected Friend Overridable Sub Edit (source As CurrencyManager, rowNum As Integer, bounds As Rectangle, readOnly As Boolean, displayText As String)
參數
- rowNum
- Int32
這個編輯中資料行的資料列編號。
- readOnly
- Boolean
數值,指出資料行是否唯讀。 如果該值為唯讀,則為 true
,否則為 false
。
- instantTextdisplayText
- String
控制項中要顯示的文字。
範例
下列程式碼範例會 Edit 使用 方法來變更 控制項中按一下儲存格的 System.Windows.Forms.DataGrid 文字。
public ref class Form1: public Form
{
private:
DataSet^ myDataSet;
void dataGrid1_MouseDown( Object^ sender, MouseEventArgs^ e )
{
// Use the HitTest method to get a HitTestInfo object.
System::Windows::Forms::DataGrid::HitTestInfo^ hi;
DataGrid^ grid = dynamic_cast<DataGrid^>(sender);
hi = grid->HitTest( e->X, e->Y );
// Test if the clicked area was a cell.
if ( hi->Type == DataGrid::HitTestType::Cell )
{
// If it's a cell, get the GridTable and CurrencyManager of the
// clicked table.
DataGridTableStyle^ dgt = grid->TableStyles[ 0 ];
CurrencyManager^ myCurrencyManager = dynamic_cast<CurrencyManager^>(this->BindingContext[ myDataSet->Tables[ dgt->MappingName ] ]);
// Get the Rectangle of the clicked cell.
Rectangle cellRect;
cellRect = grid->GetCellBounds( hi->Row, hi->Column );
// Get the clicked DataGridTextBoxColumn.
MyColumnStyle ^ gridCol = dynamic_cast<MyColumnStyle^>(dgt->GridColumnStyles[ hi->Column ]);
// Edit the value.
gridCol->EditVal( myCurrencyManager, hi->Row, cellRect, false, "New Text" );
}
}
public:
ref class MyColumnStyle: public DataGridTextBoxColumn
{
public:
void EditVal( CurrencyManager^ cm, int row, Rectangle rec, bool readOnly, String^ text )
{
this->Edit( cm, row, rec, readOnly, text );
}
};
};
public class Form1: Form
{
static void Main(){}
protected DataSet myDataSet;
private void dataGrid1_MouseDown(object sender, MouseEventArgs e)
{
// Use the HitTest method to get a HitTestInfo object.
System.Windows.Forms.DataGrid.HitTestInfo hi;
DataGrid grid = (DataGrid) sender;
hi=grid.HitTest(e.X, e.Y);
// Test if the clicked area was a cell.
if (hi.Type==DataGrid.HitTestType.Cell)
{
// If it's a cell, get the GridTable and CurrencyManager of the
// clicked table.
DataGridTableStyle dgt = grid.TableStyles[0];
CurrencyManager myCurrencyManager = (CurrencyManager)
this.BindingContext[myDataSet.Tables[dgt.MappingName]];
// Get the Rectangle of the clicked cell.
Rectangle cellRect;
cellRect=grid.GetCellBounds(hi.Row, hi.Column);
// Get the clicked DataGridTextBoxColumn.
MyColumnStyle gridCol =(MyColumnStyle)
dgt.GridColumnStyles[hi.Column];
// Edit the value.
gridCol.EditVal(myCurrencyManager, hi.Row, cellRect, false, "New Text");
}
}
public class MyColumnStyle:DataGridTextBoxColumn{
public void EditVal(CurrencyManager cm, int row, Rectangle rec,
bool readOnly, string text){
this.Edit(cm, row, rec, readOnly, text);
}
}
}
Public Class Form1
Inherits Form
Protected myDataSet As DataSet
Shared Sub Main()
End Sub
Private Sub dataGrid1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
' Use the HitTest method to get a HitTestInfo object.
Dim hi As System.Windows.Forms.DataGrid.HitTestInfo
Dim grid As DataGrid = CType(sender, DataGrid)
hi = grid.HitTest(e.X, e.Y)
' Test if the clicked area was a cell.
If hi.Type = DataGrid.HitTestType.Cell Then
' If it's a cell, get the GridTable and CurrencyManager of the
' clicked table.
Dim dgt As DataGridTableStyle = grid.TableStyles(0)
Dim myCurrencyManager As CurrencyManager = _
CType(Me.BindingContext _
(myDataSet.Tables(dgt.MappingName)), CurrencyManager)
' Get the Rectangle of the clicked cell.
Dim cellRect As Rectangle
cellRect = grid.GetCellBounds(hi.Row, hi.Column)
' Get the clicked DataGridTextBoxColumn.
Dim gridCol As MyColumnStyle = CType(dgt.GridColumnStyles _
(hi.Column), MyColumnStyle)
' Edit the value.
gridCol.EditVal(myCurrencyManager, hi.Row, cellRect, False, "New Text")
End If
End Sub
End Class
Public Class MyColumnStyle
Inherits DataGridTextBoxColumn
Public Sub EditVal(cm As CurrencyManager, row As Integer, _
rec As Rectangle, bReadOnly As Boolean, text As String)
MyBase.Edit(cm, row, rec, bReadOnly, text)
End Sub
End Class
備註
一般而言,方法會將 Edit 控制項放在要編輯之儲存格位置的方格上。
適用於
Edit(CurrencyManager, Int32, Rectangle, Boolean, String, Boolean)
在衍生類別中覆寫時,準備儲存格以進行編輯作業。
protected public:
abstract void Edit(System::Windows::Forms::CurrencyManager ^ source, int rowNum, System::Drawing::Rectangle bounds, bool readOnly, System::String ^ instantText, bool cellIsVisible);
protected public:
abstract void Edit(System::Windows::Forms::CurrencyManager ^ source, int rowNum, System::Drawing::Rectangle bounds, bool readOnly, System::String ^ displayText, bool cellIsVisible);
protected internal abstract void Edit (System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly, string instantText, bool cellIsVisible);
protected internal abstract void Edit (System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly, string displayText, bool cellIsVisible);
abstract member Edit : System.Windows.Forms.CurrencyManager * int * System.Drawing.Rectangle * bool * string * bool -> unit
abstract member Edit : System.Windows.Forms.CurrencyManager * int * System.Drawing.Rectangle * bool * string * bool -> unit
Protected Friend MustOverride Sub Edit (source As CurrencyManager, rowNum As Integer, bounds As Rectangle, readOnly As Boolean, instantText As String, cellIsVisible As Boolean)
Protected Friend MustOverride Sub Edit (source As CurrencyManager, rowNum As Integer, bounds As Rectangle, readOnly As Boolean, displayText As String, cellIsVisible As Boolean)
參數
- rowNum
- Int32
這個編輯中資料行的資料列編號。
- readOnly
- Boolean
數值,指出資料行是否唯讀。 如果該值為唯讀,則為 true
,否則為 false
。
- instantTextdisplayText
- String
控制項中要顯示的文字。
- cellIsVisible
- Boolean
數值,指出儲存格是否為可見。 如果儲存格為可見的,則為 true
,否則為 false
。
備註
一般而言,方法會將 Edit 控制項放在要編輯之儲存格位置的方格上。