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 控件置于要编辑的单元格位置的网格上。