DataGridColumnStyle.Edit Método

Definição

Prepara a célula para a edição de um valor.Prepares the cell for editing a value.

Sobrecargas

Edit(CurrencyManager, Int32, Rectangle, Boolean)

Prepara uma célula para edição.Prepares a cell for editing.

Edit(CurrencyManager, Int32, Rectangle, Boolean, String)

Prepara a célula para edição usando o CurrencyManager, o número da linha e os parâmetros Rectangle especificados.Prepares the cell for editing using the specified CurrencyManager, row number, and Rectangle parameters.

Edit(CurrencyManager, Int32, Rectangle, Boolean, String, Boolean)

Quando substituído em uma classe derivada, prepara uma célula para edição.When overridden in a deriving class, prepares a cell for editing.

Edit(CurrencyManager, Int32, Rectangle, Boolean)

Prepara uma célula para edição.Prepares a cell for editing.

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)

Parâmetros

rowNum
Int32

O número da linha a ser editada.The row number to edit.

bounds
Rectangle

O Rectangle delimitador no qual o controle deve ser localizado.The bounding Rectangle in which the control is to be sited.

readOnly
Boolean

Um valor que indica se a coluna é somente leitura.A value indicating whether the column is a read-only. true se o valor for somente leitura; caso contrário, false.true if the value is read-only; otherwise, false.

Comentários

Normalmente, o Edit método sites um controle sobre a grade no local da célula que está sendo editada.Typically, the Edit method sites a control onto the grid at the location of the cell being edited.

Edit(CurrencyManager, Int32, Rectangle, Boolean, String)

Prepara a célula para edição usando o CurrencyManager, o número da linha e os parâmetros Rectangle especificados.Prepares the cell for editing using the specified CurrencyManager, row number, and Rectangle parameters.

protected public:
 virtual void Edit(System::Windows::Forms::CurrencyManager ^ source, int rowNum, System::Drawing::Rectangle bounds, bool readOnly, System::String ^ instantText);
protected internal virtual void Edit (System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly, string instantText);
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)

Parâmetros

rowNum
Int32

O número de linha nesta coluna que está sendo editado.The row number in this column which is being edited.

bounds
Rectangle

O Rectangle em que o controle deve ser localizado.The Rectangle in which the control is to be sited.

readOnly
Boolean

Um valor que indica se a coluna é somente leitura.A value indicating whether the column is a read-only. true se o valor for somente leitura; caso contrário, false.true if the value is read-only; otherwise, false.

displayText
String

O texto a ser exibido no controle.The text to display in the control.

Exemplos

O exemplo de código a seguir Edit usa o método para alterar o texto de uma célula clicada System.Windows.Forms.DataGrid no controle.The following code example uses the Edit method to change the text of a clicked cell in the System.Windows.Forms.DataGrid control.

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

Comentários

Normalmente, o Edit método sites um controle sobre a grade no local da célula que está sendo editada.Typically, the Edit method sites a control onto the grid at the location of the cell being edited.

Edit(CurrencyManager, Int32, Rectangle, Boolean, String, Boolean)

Quando substituído em uma classe derivada, prepara uma célula para edição.When overridden in a deriving class, prepares a cell for editing.

protected public:
 abstract void Edit(System::Windows::Forms::CurrencyManager ^ source, int rowNum, System::Drawing::Rectangle bounds, bool readOnly, System::String ^ instantText, bool cellIsVisible);
protected internal abstract void Edit (System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly, string instantText, bool cellIsVisible);
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)

Parâmetros

rowNum
Int32

O número de linha nesta coluna que está sendo editado.The row number in this column which is being edited.

bounds
Rectangle

O Rectangle em que o controle deve ser localizado.The Rectangle in which the control is to be sited.

readOnly
Boolean

Um valor que indica se a coluna é somente leitura.A value indicating whether the column is a read-only. true se o valor for somente leitura; caso contrário, false.true if the value is read-only; otherwise, false.

displayText
String

O texto a ser exibido no controle.The text to display in the control.

cellIsVisible
Boolean

Um valor que indica se a célula é visível.A value indicating whether the cell is visible. true se a célula estiver visível; caso contrário, false.true if the cell is visible; otherwise, false.

Comentários

Normalmente, o Edit método sites um controle sobre a grade no local da célula que está sendo editada.Typically, the Edit method sites a control onto the grid at the location of the cell being edited.

Aplica-se a