Is there some example for timepicker editing child grid column?
I tried with something like this:
{
field: 'vrijemeod', headerText: 'Datum i vrijeme od', type: 'datetime', width: 150, format: 'HH:mm', edit: {
create: () => {
elem = document.createElement('input');
return elem;
},
read: () => {
return timePickerObj.value;
},
destroy: () => {
timePickerObj.destroy();
},
write: (args: { rowData: Object, column: Column }) => {
timePickerObj = new TimePicker({
value: new Date(args.rowData[args.column.field]),
interval: 15
});
timePickerObj.appendTo(elem);
}
}
},
but it's not working.
Thanks!
Bernard.
|
@{
var actionBeginChild = "actionBeginChild";
var actionFailureChild = "actionFailureChild";
}
@{
var data = new Syncfusion.EJ2.DataManager()
{
Url = "/Home/UrlDatasourceChild",
InsertUrl = "/Home/InsertChild",
UpdateUrl = "/Home/UpdateChild",
RemoveUrl = "/Home/RemoveChild",
Adaptor = "UrlAdaptor",
};
var ChildGrid = new Syncfusion.EJ2.Grids.Grid()
{
DataSource = data,
QueryString = "EmployeeID",
ActionBegin = actionBeginChild,
ActionFailure = actionFailureChild,
EditSettings = new Syncfusion.EJ2.Grids.GridEditSettings() { AllowAdding = true, AllowEditing = true, AllowDeleting = true },
Toolbar = new List<string>() { "Add", "Edit", "Delete", "Update", "Delete" },
Columns = new List<Syncfusion.EJ2.Grids.GridColumn> {
new Syncfusion.EJ2.Grids.GridColumn(){ Field="UnitID", IsPrimaryKey=true, HeaderText="Unit ID", Width="150" },
new Syncfusion.EJ2.Grids.GridColumn(){ Field="ShipName", HeaderText="Ship Name", Width="150" },
new Syncfusion.EJ2.Grids.GridColumn(){ Field="OrderDate", Format="HH:mm", Edit =(new {create = "create", read = "read", destroy = "destroy", write = "write"}), HeaderText="Order Date", Width="120" },
new Syncfusion.EJ2.Grids.GridColumn(){ Field="ShipAddress", HeaderText="Ship Address", Width="120" },
}
};
}
<div class="control-section">
<ejs-grid id="HierarchyPrint" childGrid="ChildGrid" toolbarClick="toolbarClick" toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Cancel", "Update" })"
allowPdfExport="true" allowExcelExport="true">
<e-grid-editSettings allowAdding="true" allowDeleting="true" allowEditing="true" mode="Normal"></e-grid-editSettings>
<e-data-manager url="/Home/UrlDatasource" insertUrl="/Home/Insert" updateUrl="/Home/Update" removeUrl="/Home/Remove" adaptor="UrlAdaptor"></e-data-manager>
<e-grid-columns>
<e-grid-column field="OrderID" headerText="Order ID" isPrimaryKey="true" textAlign="Right" width="125"></e-grid-column>
<e-grid-column field="CustomerID" headerText="Customer Name" width="120"></e-grid-column>
<e-grid-column field="Freight" headerText="Freight" width="170"></e-grid-column>
</e-grid-columns>
</ejs-grid>
</div>
<script>
var elem;
var dObj;
function create(args) {
elem = document.createElement('input');
return elem;
}
function write(args) {
dObj = new ej.calendars.TimePicker({
value: new Date(args.rowData[args.column.field]),
placeholder: 'Select Time'
});
dObj.appendTo(elem);
}
function destroy() {
dObj.destroy();
}
function read(args) {
return dObj.value;
} |
|
Index.ts
columns: [
{
field: 'OrderID',
headerText: 'Order ID',
textAlign: 'Right',
width: 120,
},
{ field: 'ShipCity', headerText: 'Ship City', width: 120 },
{ field: 'Freight', headerText: 'Freight', width: 120 },
{ field: 'ShipName', headerText: 'Ship Name', width: 150 },
{
field: 'OrderDate',
format: 'HH:mm',
headerText: 'OrderDate',
width: 120,
edit: {
create: () => {
elem = document.createElement('input');
return elem;
},
read: () => {
return timePickerObj.value;
},
destroy: () => {
timePickerObj.destroy();
},
write: (args) => {
timePickerObj = new TimePicker({
value: new Date(args.rowData[args.column.field]),
});
timePickerObj.appendTo(elem);
},
},
},
],
}, |