Articles in this section
Category / Section

How to have ejTimePicker as edit type for a column?

1 min read

Solution:

We can use “EditTemplate” feature of Grid column to render ejTimePicker control during editing. The following code example shows how to render ejTimePicker control as editing type for a column using EditTemplate feature.

For more information about EditTemplate feature please follow the below documentation link

Link: https://help.syncfusion.com/js/grid/editing#cell-edit-template

 

  1. Render the Grid control.

 

JS

<div id="Grid"></div>
<script type="text/javascript">
    $(function () {// Document is ready.        
        $("#Grid").ejGrid({
            dataSource: window.gridData, 
            allowPaging: true,                
            editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true },
            toolbarSettings: { showToolbar: true, toolbarItems: [ej.Grid.ToolBarItems.Add, ej.Grid.ToolBarItems.Edit, ej.Grid.ToolBarItems.Delete, ej.Grid.ToolBarItems.Update, ej.Grid.ToolBarItems.Cancel] },
            columns: [
                      { field: "OrderID", headerText: "Order ID", isPrimaryKey: true, width: 100 },
                     { field: "EmployeeID", headerText: "Employee ID", width: 100},
                     { field: "OrderDate", headerText: " Order Date ", 
                     editTemplate: {
                            create: "create", read: "read", write: "write"                      
                      } ,width: 100 , format: "{0:hh:mm:ss}"
                  },
                 { field: "ShipCity", headerText: "Ship City", width: 100 }                      
            ]
        });
    });                
</script>

 

 

 

MVC

[In View]
@(Html.EJ().Grid<object>("Grid")            
            .Datasource((IEnumerable<object>)ViewBag.data))
            .AllowPaging()            
            .EditSettings(edit => edit.AllowEditing().AllowAdding().AllowDeleting().)
            .ToolbarSettings(toolbar =>
            {
                toolbar.ShowToolbar().ToolbarItems(items =>
                {
                    items.AddTool(ToolBarItems.Add);
                    items.AddTool(ToolBarItems.Edit);
                    items.AddTool(ToolBarItems.Delete);
                    items.AddTool(ToolBarItems.Update);
                    items.AddTool(ToolBarItems.Cancel);
                });
            })                
            .Columns(col =>
            {         col.Field("OrderID").HeaderText("Order ID").IsPrimaryKey(true).Width(100).Add();
               col.Field("EmployeeID").HeaderText("Employee ID").Width(100).Add();
               col.Field("OrderDate").HeaderText("Order Date ").Format("{0:hh:mm:ss}").EditTemplate(a => { a.Create("create").Read("read").Write("write"); }).Width(100).Add();  
               col.Field("ShipCity").HeaderText("Ship City").Width(100).Add();                
       })
)
 

 

 

ASP.NET

[aspx]
<ej:Grid ID="OrdersGrid" runat="server" AllowPaging="True" >  
                        <EditSettings AllowEditing="True" AllowAdding="True" AllowDeleting="True" ></EditSettings>
            <ToolbarSettings ShowToolbar="True" ToolbarItems="add,edit,delete,update,cancel"></ToolbarSettings>           
            <Columns>
                <ej:Column Field="OrderID" HeaderText="Order ID" IsPrimaryKey="True"   Width="100"/> 
                <ej:Column Field="EmployeeID" HeaderText="Employee ID" Width="100"/>
                 <ej:Column Field="OrderDate" HeaderText="Order Date" Format="{0:hh:mm:ss}" Width="100">
                 <EditTemplate Create="create" Read="read" Write="write"/></ej:Column>
                <ej:Column Field="ShipCity" HeaderText="Ship City"  Width="100"/>                
            </Columns>
</ej:Grid>                  
 

 

2. You can define the Event Handlers for create, read, write of Grid column EditTemplate” feature.

 

          Events

                                      Description

          create

         It is used to create the control at time of initialize

           read

         It is used to read the input value at time of save

           write

     It is used to assign the value to control at time of editing

                               

<script type="text/javascript">
function create(args) {
            return $("<input>");
}
function write(args) {
//convert the element to ejTimePicker control 
             args.element.ejTimePicker({
                    value: args.rowdata["Time"],
                    interval: 15,
                    timeFormat: "HH:mm:ss",
                    width: "100%"
             });
        }
function read(args) {
            return args.ejTimePicker("getValue");//get the value from the TimePicker control 
}
</script>

The following output is displayed as a result of the above code example


Figure 1: Initial rendering of a Grid.

E:\patch\ejTimePickerKB\whileediting.png

Figure 2: While editing the “Order Date” column with the ejTimePicker control.

E:\patch\ejTimePickerKB\aftersaving.png

Figure 3: After save the value of “Order Date” column in Grid.               

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied