DataGridTextBoxColumn.Edit Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Připraví buňku pro úpravy.
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)
Parametry
- source
- CurrencyManager
DataGrid Hodnota CurrencyManager ovládacího prvku, do který sloupec patří.
- rowNum
- Int32
Číslo řádku v tomto sloupci, který se upravuje.
- readOnly
- Boolean
Hodnota označující, jestli je sloupec jen pro čtení.
true
pokud je hodnota jen pro čtení; v opačném případě . false
- instantTextdisplayText
- String
Text, který se má zobrazit v ovládacím prvku.
- cellIsVisible
- Boolean
Hodnota označující, zda je buňka viditelná.
true
pokud je buňka viditelná; v opačném případě . false
Příklady
Následující příklad používá metodu Edit ke změně textu klepané buňky v ovládacím DataGrid prvku.
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
Poznámky
TextBox Umístění Edit ovládacího prvku v mřížce v umístění upravované buňky. Metoda je volána metodou DataGrid třídy BeginEdit , když se blíží zahájení operace úprav.