다음을 통해 공유


DataGridColumnStyle.Edit 메서드

정의

값을 편집할 셀을 준비합니다.

오버로드

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

편집할 행 번호입니다.

bounds
Rectangle

컨트롤이 위치할 경계 Rectangle입니다.

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

편집되고 있는 이 열의 행 번호입니다.

bounds
Rectangle

컨트롤이 위치할 Rectangle입니다.

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

편집되고 있는 이 열의 행 번호입니다.

bounds
Rectangle

컨트롤이 위치할 Rectangle입니다.

readOnly
Boolean

열이 읽기 전용인지 여부를 나타내는 값입니다. 값이 읽기 전용이면 true이고, 그렇지 않으면 false입니다.

instantTextdisplayText
String

컨트롤에 표시할 텍스트입니다.

cellIsVisible
Boolean

셀을 표시할지 여부를 나타내는 값입니다. 셀이 표시되면 true이고, 그렇지 않으면 false입니다.

설명

일반적으로 메서드는 Edit 편집 중인 셀의 위치에 있는 그리드에 컨트롤을 배치합니다.

적용 대상