Class Editor
DataTables Editor base class for creating editable tables.
Editor class instances are capable of servicing all of the requests that DataTables and Editor will make from the client-side - specifically:
- Get data
- Create new record
- Edit existing record
- Delete existing records
The Editor instance is configured with information regarding the database table fields that you which to make editable, and other information needed to read and write to the database (table name for example!).
This documentation is very much focused on describing the API presented by these DataTables Editor classes. For a more general overview of how the Editor class is used, and how to install Editor on your server, please refer to the Editor manual ( https://editor.datatables.net/manual ).
Inheritance
Namespace: DataTables
Assembly: DataTables-Editor-Server.dll
Syntax
public class Editor : object
Constructors
| Improve this Doc View SourceEditor(Database, String, String)
Create a new Editor instance
Declaration
public Editor(Database db = null, string table = null, string pkey = null)
Parameters
Type | Name | Description |
---|---|---|
Database | db | An instance of the DataTables Database class that we can use for the DB connection. Can also be set with the method.
|
System.String | table | The table name in the database to read and write information from and to. Can also be set with the method.
|
System.String | pkey | Primary key column name in the table given. Can also be set with the method.
|
Editor(Database, String, String[])
Create a new Editor instance
Declaration
public Editor(Database db, string table, string[] pkey)
Parameters
Type | Name | Description |
---|---|---|
Database | db | An instance of the DataTables Database class that we can use for the DB connection. Can also be set with the method.
|
System.String | table | The table name in the database to read and write information from and to. Can also be set with the method.
|
System.String[] | pkey | Primary key column names in the table given. Can also be set with the method.
|
Fields
| Improve this Doc View SourceVersion
Version string
Declaration
public const string Version = null
Field Value
Type | Description |
---|---|
System.String |
Methods
| Improve this Doc View SourceAction(DtRequest)
Get the form action.
Declaration
public static DtRequest.RequestTypes Action(DtRequest request)
Parameters
Type | Name | Description |
---|---|---|
DtRequest | request | Data sent from the client-side |
Returns
Type | Description |
---|---|
DtRequest.RequestTypes | Request type |
Action(HttpRequest)
Get the form action. For use with an HttpRequest object
Declaration
public static DtRequest.RequestTypes Action(HttpRequest http)
Parameters
Type | Name | Description |
---|---|---|
HttpRequest | http | Data sent from the client-side |
Returns
Type | Description |
---|---|
DtRequest.RequestTypes | Request type |
Action(IEnumerable<KeyValuePair<String, StringValues>>)
Get the form action. For use with WebAPI's 'FormDataCollection' collection
Declaration
public static DtRequest.RequestTypes Action(IEnumerable<KeyValuePair<String, StringValues>> data = null)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<KeyValuePair<String, StringValues>> | data | Data sent from the client-side |
Returns
Type | Description |
---|---|
DtRequest.RequestTypes | Request type |
Action(IEnumerable<KeyValuePair<String, String>>)
Get the form action. For use with WebAPI's 'FormDataCollection' collection
Declaration
public static DtRequest.RequestTypes Action(IEnumerable<KeyValuePair<string, string>> data = null)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<KeyValuePair<System.String, System.String>> | data | Data sent from the client-side |
Returns
Type | Description |
---|---|
DtRequest.RequestTypes | Request type |
Action(NameValueCollection)
Get the form action. For use with MVC's 'Request.Form' collection
Declaration
public static DtRequest.RequestTypes Action(NameValueCollection data = null)
Parameters
Type | Name | Description |
---|---|---|
NameValueCollection | data | Data sent from the client-side |
Returns
Type | Description |
---|---|
DtRequest.RequestTypes | Request type |
Data()
Get the response object that has been created by this instance. This is only useful after
process()
has been called.
Declaration
public DtResponse Data()
Returns
Type | Description |
---|---|
DtResponse | The response object as populated by this instance |
Db()
Get the database instance used by this instance
Declaration
public Database Db()
Returns
Type | Description |
---|---|
Database | Database connection instance |
Db(Database)
Set the database connection instance
Declaration
public Editor Db(Database db)
Parameters
Type | Name | Description |
---|---|---|
Database | db | Connection instance to set |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
DbTransaction()
Get the current database transaction
Declaration
public DbTransaction DbTransaction()
Returns
Type | Description |
---|---|
DbTransaction | Database transaction, or null if not in a transaction |
Debug()
Get the debug state
Declaration
public bool Debug()
Returns
Type | Description |
---|---|
System.Boolean | true if debugging is enabled |
Debug(Boolean)
Set the debug state. If enabled (true
) Editor will record information
about the SQL queries it makes and return that information in the JSON
sent to the client-side query once the request has been processed.
Declaration
public Editor Debug(bool debug)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | debug | Flag to for how to set the debug state |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Debug(Object)
Add debug information to the data sent to the client-side.
Declaration
public Editor Debug(object debug)
Parameters
Type | Name | Description |
---|---|---|
System.Object | debug | Debug information to send |
Returns
Type | Description |
---|---|
Editor |
Debug(String)
Add debug information to the data sent to the client-side.
Declaration
public Editor Debug(string debug)
Parameters
Type | Name | Description |
---|---|---|
System.String | debug | Debug information to send |
Returns
Type | Description |
---|---|
Editor |
Field()
Get the fields that have been configured for this instance
Declaration
public List<Field> Field()
Returns
Type | Description |
---|---|
List<Field> | List of fields |
Field(Field)
Add a new field to this instance
Declaration
public Editor Field(Field f)
Parameters
Type | Name | Description |
---|---|---|
Field | f | New field to add |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Field(IEnumerable<Field>)
Add multiple fields too this instance
Declaration
public Editor Field(IEnumerable<Field> fields)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Field> | fields | Collection of fields to add |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Field(String)
Get a field instance that has already been added
Declaration
public Field Field(string f)
Parameters
Type | Name | Description |
---|---|---|
System.String | f | Field name to select |
Returns
Type | Description |
---|---|
Field | Field instance |
IdPrefix()
Get the DOM prefix.
Typically primary keys are numeric and this is not a valid ID value in an HTML document - is also increases the likelihood of an ID clash if multiple tables are used on a single page. As such, a prefix is assigned to the primary key value for each row, and this is used as the DOM ID, so Editor can track individual rows.
Declaration
public string IdPrefix()
Returns
Type | Description |
---|---|
System.String | DOM prefix |
IdPrefix(String)
Set the DOM prefix.
Typically primary keys are numeric and this is not a valid ID value in an HTML document - is also increases the likelihood of an ID clash if multiple tables are used on a single page. As such, a prefix is assigned to the primary key value for each row, and this is used as the DOM ID, so Editor can track individual rows.
Declaration
public Editor IdPrefix(string prefix)
Parameters
Type | Name | Description |
---|---|---|
System.String | prefix | Prefix to set |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
InData()
Get the data that is being processed by the Editor instance. This is only useful once the
Process()
method has been called, and
is available for use in validation and formatter methods.
Declaration
public DtRequest InData()
Returns
Type | Description |
---|---|
DtRequest | Data given to
|
LeftJoin(String, String, String, String)
Add a left join condition to the Editor instance, allowing it to operate over multiple tables. Multiple
leftJoin()
calls can be made for a
single Editor instance to join multiple tables.
A left join is the most common type of join that is used with Editor so this method is provided to make its use very easy to configure. Its parameters are basically the same as writing an SQL left join statement, but in this case Editor will handle the create, update and remove requirements of the join for you:
- Create - On create Editor will insert the data into the primary table and then into the joined tables - selecting the required data for each table.
- Edit - On edit Editor will update the main table, and then either update the existing rows in the joined table that match the join and edit conditions, or insert a new row into the joined table if required.
- Remove - On delete Editor will remove the main row and then loop over each of the joined tables and remove the joined data matching the join link from the main table.
Please note that when using join tables, Editor requires that you fully qualify each field with the field's table name. SQL can result table names for ambiguous field names, but for Editor to provide its full CRUD options, the table name must also be given. For example the field
first_name
in the table users
would be given
as
users.first_name
.
Declaration
public Editor LeftJoin(string table, string field1, string op = null, string field2 = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | table | Table name to do a join onto |
System.String | field1 | Field from the parent table to use as the join link |
System.String | op | Join condition ( |
System.String | field2 | Field from the child table to use as the join link |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
LeftJoinRemove()
Get the left join remove value.
Declaration
public bool LeftJoinRemove()
Returns
Type | Description |
---|---|
System.Boolean | left join remove value |
LeftJoinRemove(Boolean)
Indicate if a remove should be performed on left joined tables when deleting
from the parent row. Note that this is disabled by default and will be
removed completely in v2. Use ON DELETE CASCADE
in your database instead.
Declaration
public Editor LeftJoinRemove(bool remove)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | remove | Value to set |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
MJoin(MJoin)
Add a 1-to-many ("mjoin") join to the Editor instance. The way the join operates is defined by the MJoin class
Declaration
public Editor MJoin(MJoin join)
Parameters
Type | Name | Description |
---|---|---|
MJoin | join | MJoin link to use |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Model<T>()
Set a model to use.
In keeping with the MVC style of coding, you can define the fields and their types that you wish to get from the database in a simple class. Editor will automatically add fields from the model.
Note that fields that are defined in the model can also be defined as
Field
instances should you wish to add additional
options to a specific field such as formatters or validation.
Declaration
public Editor Model<T>()
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Type Parameters
Name | Description |
---|---|
T | Model to use |
Model<T>(String)
Set a model to use.
Declaration
public Editor Model<T>(string tableName)
Parameters
Type | Name | Description |
---|---|---|
System.String | tableName |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Type Parameters
Name | Description |
---|---|
T | Model to use |
On(String, Delegate)
Add an event listener. The Editor
class will trigger an number of
events that some action can be taken on.
Declaration
public Editor On(string name, Delegate callback)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | Event name |
Delegate | callback | Callback function to execute when the event occurs |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Pkey()
Get the primary key field that has been configured.
The primary key must be known to Editor so it will know which rows are being edited / deleted upon those actions. The default value is 'id'.
Declaration
public string[] Pkey()
Returns
Type | Description |
---|---|
System.String[] | Primary key |
Pkey(String)
Set the primary key field to use. Please note that at this time Editor does not support composite primary keys in a table, only a single field primary key is supported.
The primary key must be known to Editor so it will know which rows are being edited / deleted upon those actions. The default value is 'id'.
Declaration
public Editor Pkey(string id)
Parameters
Type | Name | Description |
---|---|---|
System.String | id | Primary key column name |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Pkey(String[])
Set the column names for a compound primary key.
Declaration
public Editor Pkey(string[] id)
Parameters
Type | Name | Description |
---|---|---|
System.String[] | id | Primary key column names |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
PkeyToArray(String, Boolean, String[])
Convert a primary key combined value to an array of field values.
Declaration
public Dictionary<string, object> PkeyToArray(string value, bool flat = false, string[] pkey = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | value | The id that should be split apart |
System.Boolean | flat | Flag to indicate if the returned array should be
flat(useful for |
System.String[] | pkey | Primary key to use. Instance default will be used if not given |
Returns
Type | Description |
---|---|
Dictionary<System.String, System.Object> | Field values that the id was made up of. |
PkeyToValue(Dictionary<String, Object>, Boolean)
Convert a primary key array of field values to a combined value.
Declaration
public string PkeyToValue(Dictionary<string, object> row, bool flat = false)
Parameters
Type | Name | Description |
---|---|---|
Dictionary<System.String, System.Object> | row | The row of data that the primary key value should be extracted from |
System.Boolean | flat | Flag to indicate if the given array is flat
(useful for |
Returns
Type | Description |
---|---|
System.String | The created primary key value |
Process(DtRequest)
Process a request from the Editor client-side to get / set data.
Declaration
public Editor Process(DtRequest data)
Parameters
Type | Name | Description |
---|---|---|
DtRequest | data | Data sent from the client-side |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Process(HttpRequest, String)
Process a request from the Editor client-side to get / set data. For use with an HttpRequest object
Declaration
public Editor Process(HttpRequest request, string culture = null)
Parameters
Type | Name | Description |
---|---|---|
HttpRequest | request | Data sent from the client-side |
System.String | culture | Culture string to use for number formatting - https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Process(IEnumerable<KeyValuePair<String, StringValues>>, String)
Get the form action. For use with WebAPI's 'FormDataCollection' collection
Declaration
public Editor Process(IEnumerable<KeyValuePair<String, StringValues>> data = null, string culture = null)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<KeyValuePair<String, StringValues>> | data | Data sent from the client-side |
System.String | culture | Culture string to use for number formatting - https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo |
Returns
Type | Description |
---|---|
Editor | Request type |
Process(IEnumerable<KeyValuePair<String, String>>, String)
Process a request from the Editor client-side to get / set data. For use with WebAPI's 'FormDataCollection' collection
Declaration
public Editor Process(IEnumerable<KeyValuePair<string, string>> data = null, string culture = null)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<KeyValuePair<System.String, System.String>> | data | Data sent from the client-side |
System.String | culture | Culture string to use for number formatting - https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Process(NameValueCollection, String)
Process a request from the Editor client-side to get / set data. For use with MVC's 'Request.Form' collection
Declaration
public Editor Process(NameValueCollection data = null, string culture = null)
Parameters
Type | Name | Description |
---|---|---|
NameValueCollection | data | Data sent from the client-side |
System.String | culture | Culture string to use for number formatting - https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
ReadTable()
Get the read database table name this Editor instance will use
Declaration
public List<string> ReadTable()
Returns
Type | Description |
---|---|
List<System.String> | Table name |
ReadTable(IEnumerable<String>)
Add multiple tables to the Editor instance
Declaration
public Editor ReadTable(IEnumerable<string> tables)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<System.String> | tables | Collection of tables to add |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
ReadTable(String)
Set the read database table name this Editor instance will use. If not set,
the table from Editor.Table()
will be used.
Declaration
public Editor ReadTable(string t)
Parameters
Type | Name | Description |
---|---|---|
System.String | t | Table name |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Table()
Get the database table name this Editor instance will use
Declaration
public List<string> Table()
Returns
Type | Description |
---|---|
List<System.String> | Table name |
Table(IEnumerable<String>)
Add multiple tables to the Editor instance
Declaration
public Editor Table(IEnumerable<string> tables)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<System.String> | tables | Collection of tables to add |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Table(String)
Set the database table name this Editor instance will use
Declaration
public Editor Table(string t)
Parameters
Type | Name | Description |
---|---|---|
System.String | t | Table name |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Transaction()
Get the transaction state for this instance.
When enabled (which it is by default) Editor will use an SQL transaction to ensure data integrity while it is performing operations on the table. This can be optionally disabled using this method, if required by your database configuration.
Declaration
public bool Transaction()
Returns
Type | Description |
---|---|
System.Boolean | The current transaction value/state |
Transaction(Boolean)
Set the transaction state for this instance.
Declaration
public Editor Transaction(bool set)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | set | Value to set - true to enable transactions, false to disabled. |
Returns
Type | Description |
---|---|
Editor | Editor instance for chaining |
TryCatch(Boolean)
Enable (default) / disable the error catching that Editor performs when processing the data from the client. When enabled any errors will be presented in a format that can be presented to the end user, but it makes debugging much more difficult if an error should occur inside the DataTables dll. Disabling the try / catch makes it much easier to see exactly where the error is occuring.
Declaration
public Editor TryCatch(bool set)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | set | Enable - true, or disable - false |
Returns
Type | Description |
---|---|
Editor | Editor instance for chaining |
Validate(DtResponse, DtRequest)
Perform validation on a data set.
Note that validation is performed on data only when the action is 'create' or 'edit'. Additionally, validation is performed on the wire data - i.e. that which is submitted from the client, without formatting. Any formatting required by
setFormatter
is performed after
the data from the client has been validated.
Declaration
public bool Validate(DtResponse response, DtRequest request)
Parameters
Type | Name | Description |
---|---|---|
DtResponse | response | DataTables response object |
DtRequest | request | DataTables request object |
Returns
Type | Description |
---|---|
System.Boolean |
|
Validator()
Get the global validator
Declaration
public List<Func<Editor, DtRequest.RequestTypes, DtRequest, string>> Validator()
Returns
Type | Description |
---|---|
List<Func<Editor, DtRequest.RequestTypes, DtRequest, System.String>> | Validation functions set |
Validator(Func<Editor, DtRequest.RequestTypes, DtRequest, String>)
Set a global validator
Declaration
public Editor Validator(Func<Editor, DtRequest.RequestTypes, DtRequest, string> validator)
Parameters
Type | Name | Description |
---|---|---|
Func<Editor, DtRequest.RequestTypes, DtRequest, System.String> | validator | Validation function to set |
Returns
Type | Description |
---|---|
Editor |
Where(Action<Query>)
Where condition to add to the query used to get data from the database. Multiple conditions can be added if required.
Can be used in two different ways:
- Simple case:
where( field, value, operator )
- Complex:
where( fn )
The simple case is fairly self explanatory, a condition is applied to the
data that looks like field operator value
(e.g. name = 'Allan'
). The
complex case allows full control over the query conditions by providing a
closure function that has access to the database Query that Editor is
using, so you can use the where()
, or_where()
, and_where()
and
where_group()
methods as you require.
Please be very careful when using this method! If an edit made by a user using Editor removes the row from the where condition, the result is undefined (since Editor expects the row to still be available, but the condition removes it from the result set).
Declaration
public Editor Where(Action<Query> fn)
Parameters
Type | Name | Description |
---|---|---|
Action<Query> | fn | Delegate to execute adding where conditions to the table |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Where(String, Object, String)
Where condition to add to the query used to get data from the database. Multiple conditions can be added if required.
Can be used in two different ways:
- Simple case:
where( field, value, operator )
- Complex:
where( fn )
The simple case is fairly self explanatory, a condition is applied to the
data that looks like field operator value
(e.g. name = 'Allan'
). The
complex case allows full control over the query conditions by providing a
closure function that has access to the database Query that Editor is
using, so you can use the where()
, or_where()
, and_where()
and
where_group()
methods as you require.
Please be very careful when using this method! If an edit made by a user using Editor removes the row from the where condition, the result is undefined (since Editor expects the row to still be available, but the condition removes it from the result set).
Declaration
public Editor Where(string key, object value, string op = "=")
Parameters
Type | Name | Description |
---|---|---|
System.String | key | Database column name to perform the condition on |
System.Object | value | Value to use for the condition |
System.String | op | Conditional operator |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Write()
Get the value of this._write
Declaration
public bool Write()
Returns
Type | Description |
---|---|
System.Boolean | bool the value of this._write |
Write(Boolean)
Set the value of write
Declaration
public Editor Write(bool writeVal)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | writeVal | The value that this._write is to be set to |
Returns
Type | Description |
---|---|
Editor | Self for chaining |
Events
| Improve this Doc View SourcePostCreate
Event which is triggered immediately after a row has been created. Note that for multi-row creation it is triggered for each row indivudally.
Declaration
public event EventHandler<PostCreateEventArgs> PostCreate
Event Type
Type | Description |
---|---|
EventHandler<PostCreateEventArgs> |
PostEdit
Event which is triggered immediately after a row being edited. Note that for multi-row editing, it is triggered for each row individually.
Declaration
public event EventHandler<PostEditEventArgs> PostEdit
Event Type
Type | Description |
---|---|
EventHandler<PostEditEventArgs> |
PostGet
Event which is triggered immediately after a row has been created. Note that for multi-row creation it is triggered for each row indivudally.
Declaration
public event EventHandler<PostGetEventArgs> PostGet
Event Type
Type | Description |
---|---|
EventHandler<PostGetEventArgs> |
PostRemove
Event which is triggered immediately after a row being deleted. Note that for multi-row deletion, it is triggered for each row individually.
Declaration
public event EventHandler<PostRemoveEventArgs> PostRemove
Event Type
Type | Description |
---|---|
EventHandler<PostRemoveEventArgs> |
PostUpload
Event which is triggered immediately after an uploaded file has been processed.
Declaration
public event EventHandler<PostUploadEventArgs> PostUpload
Event Type
Type | Description |
---|---|
EventHandler<PostUploadEventArgs> |
PreCreate
Event which is triggered prior to a row being created and before validation. Note that for multi-row creation it is triggered for each row indivudally.
Declaration
public event EventHandler<PreCreateEventArgs> PreCreate
Event Type
Type | Description |
---|---|
EventHandler<PreCreateEventArgs> |
PreEdit
Event which is triggered prior to a row being edited and before validation. Note that for multi-row editing, it is triggered for each row individually.
Declaration
public event EventHandler<PreEditEventArgs> PreEdit
Event Type
Type | Description |
---|---|
EventHandler<PreEditEventArgs> |
PreGet
Event which is triggered immediately prior to a row being created. Note that for multi-row creation it is triggered for each row indivudally.
Declaration
public event EventHandler<PreGetEventArgs> PreGet
Event Type
Type | Description |
---|---|
EventHandler<PreGetEventArgs> |
PreRemove
Event which is triggered immediately prior to a row being deleted. Note that for multi-row deletion, it is triggered for each row individually.
Declaration
public event EventHandler<PreRemoveEventArgs> PreRemove
Event Type
Type | Description |
---|---|
EventHandler<PreRemoveEventArgs> |
PreUpload
Event which is triggered immediately prior to an uploaded file being processed.
Declaration
public event EventHandler<PreUploadEventArgs> PreUpload
Event Type
Type | Description |
---|---|
EventHandler<PreUploadEventArgs> |
ValidatedCreate
Event which is triggered immediately prior to a row being created and after validation. Note that for multi-row creation it is triggered for each row indivudally.
Declaration
public event EventHandler<ValidatedCreateEventArgs> ValidatedCreate
Event Type
Type | Description |
---|---|
EventHandler<ValidatedCreateEventArgs> |
ValidatedEdit
Event which is triggered immediately prior to a row being edited and after validation. Note that for multi-row editing, it is triggered for each row individually.
Declaration
public event EventHandler<ValidatedEditEventArgs> ValidatedEdit
Event Type
Type | Description |
---|---|
EventHandler<ValidatedEditEventArgs> |
WriteCreate
Event which is triggered after the new row has been written to the database, but before it is then read back, allowing the row to be manipulated externally. Note that for multi-row creation it is triggered for each row indivudally.
Declaration
public event EventHandler<WriteCreateEventArgs> WriteCreate
Event Type
Type | Description |
---|---|
EventHandler<WriteCreateEventArgs> |
WriteEdit
Event which is triggered after the row has been updated on the database, but before it is then read back, allowing the row to be manipulated externally. Note that for multi-row creation it is triggered for each row indivudally. individually.
Declaration
public event EventHandler<WriteEditEventArgs> WriteEdit
Event Type
Type | Description |
---|---|
EventHandler<WriteEditEventArgs> |