DataGridTextBoxColumn.Edit メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
編集するためにセルを準備します。
protected public:
override void Edit(System::Windows::Forms::CurrencyManager ^ source, int rowNum, System::Drawing::Rectangle bounds, bool readOnly, System::String ^ instantText, bool cellIsVisible);
protected public:
override void Edit(System::Windows::Forms::CurrencyManager ^ source, int rowNum, System::Drawing::Rectangle bounds, bool readOnly, System::String ^ displayText, bool cellIsVisible);
protected internal override void Edit (System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly, string instantText, bool cellIsVisible);
protected internal override void Edit (System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly, string displayText, bool cellIsVisible);
override this.Edit : System.Windows.Forms.CurrencyManager * int * System.Drawing.Rectangle * bool * string * bool -> unit
override this.Edit : System.Windows.Forms.CurrencyManager * int * System.Drawing.Rectangle * bool * string * bool -> unit
Protected Friend Overrides Sub Edit (source As CurrencyManager, rowNum As Integer, bounds As Rectangle, readOnly As Boolean, instantText As String, cellIsVisible As Boolean)
Protected Friend Overrides Sub Edit (source As CurrencyManager, rowNum As Integer, bounds As Rectangle, readOnly As Boolean, displayText As String, cellIsVisible As Boolean)
パラメーター
- source
- CurrencyManager
列が属する CurrencyManager コントロールの DataGrid。
- rowNum
- Int32
編集されている列の行番号。
- readOnly
- Boolean
列が読み取り専用であるかどうかを示す値。 値が読み取り専用の場合は true
。それ以外の場合は false
。
- instantTextdisplayText
- String
コントロール内で表示するテキスト。
- cellIsVisible
- Boolean
セルが表示されるかどうかを示す値。 セルを表示する場合は true
。それ以外の場合は false
。
例
次の例では、 メソッドを Edit 使用して、コントロール内のクリックされたセルのテキストを DataGrid 変更します。
public ref class MyGridColumn: public DataGridTextBoxColumn
{
public:
void EditCol( CurrencyManager^ cm, int rowNum, Rectangle cellRect, bool readOnly, String^ myString, bool isVisible )
{
this->Edit( cm, rowNum, cellRect, readOnly, myString, isVisible );
}
};
public ref class Form1: public Form
{
protected:
DataGrid^ dataGrid1;
DataSet^ myDataSet;
private:
void dataGrid1_MouseDown( Object^ sender, MouseEventArgs^ e )
{
// Use the HitTest method to get a HitTestInfo object.
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 = dataGrid1->TableStyles[ 0 ];
CurrencyManager^ cm = dynamic_cast<CurrencyManager^>(this->BindingContext[ myDataSet->Tables[ dgt->MappingName ] ]);
// Get the Rectangle of the clicked cell.
Rectangle cellRect = grid->GetCellBounds( hi->Row, hi->Column );
// Get the clicked DataGridTextBoxColumn.
MyGridColumn^ gridCol = dynamic_cast<MyGridColumn^>(dgt->GridColumnStyles[ hi->Column ]);
// Edit the value.
gridCol->EditCol( cm, hi->Row, cellRect, false, "New Text", true );
}
}
};
public class Form1: Form
{
protected DataGrid dataGrid1;
protected DataSet myDataSet;
private void dataGrid1_MouseDown(object sender, MouseEventArgs e)
{
// Use the HitTest method to get a HitTestInfo object.
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 = dataGrid1.TableStyles[0];
CurrencyManager cm = (CurrencyManager)
this.BindingContext[myDataSet.Tables[dgt.MappingName]];
// Get the Rectangle of the clicked cell.
Rectangle cellRect = grid.GetCellBounds(hi.Row, hi.Column);
// Get the clicked DataGridTextBoxColumn.
MyGridColumn gridCol =
(MyGridColumn)dgt.GridColumnStyles[hi.Column];
// Edit the value.
gridCol.EditCol(cm, hi.Row, cellRect, false, "New Text", true);
}
}
}
public class MyGridColumn:DataGridTextBoxColumn{
public void EditCol(CurrencyManager cm, int rowNum,
Rectangle cellRect, bool readOnly,
string myString, bool isVisible){
this.Edit(cm, rowNum, cellRect, readOnly, myString, isVisible);
}
}
Public Class Form1
Inherits Form
Protected dataGrid1 As DataGrid
Protected myDataSet As DataSet
Private Sub dataGrid1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
' Use the HitTest method to get a HitTestInfo object.
Dim hi As 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 = dataGrid1.TableStyles(0)
Dim cm As CurrencyManager = CType _
(Me.BindingContext(myDataSet.Tables(dgt.MappingName)), _
CurrencyManager)
' Get the Rectangle of the clicked cell.
Dim cellRect As Rectangle = _
grid.GetCellBounds(hi.Row, hi.Column)
' Get the clicked DataGridTextBoxColumn.
Dim gridCol As MyGridColumn = CType _
(dgt.GridColumnStyles(hi.Column), MyGridColumn)
' Edit the value.
gridCol.EditCol(cm, hi.Row, cellRect, False, "New Text", True)
End If
End Sub
End Class
Public Class MyGridColumn
Inherits DataGridTextBoxColumn
Public Sub EditCol(cm As CurrencyManager , rowNum As integer , _
cellRect As Rectangle , bReadOnly As Boolean , _
myString As String , isVisible As Boolean )
me.Edit(cm, rowNum, cellRect, bReadOnly, myString, isVisible)
End Sub
End Class
注釈
Editグリッド上のTextBoxコントロールが、編集中のセルの位置に配置されます。 メソッドは、編集操作の開始時に DataGrid クラスの BeginEdit メソッドによって呼び出されます。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET