Request for resolution of the problem when moving to the next cell with Tab when inputting in the grid field

Hi, Syncfusion Teams.


There seem to be two problems as follows when moving from GRID to TAB.

I have to solve this issue. I hope you can suggest a solution.


  1. In the Grid with the CellEdit function,
    there is an area where 'args.cancel = true' is set in the middle of each cell.

    I want to go past this and input into the next cell naturally,
    but when I enter Tab in that cell, it goes back to the front.

    Can I solve this the way I want it?

  2. When Tab is used in the last cell to the first row, the row below is automatically added.
  3. This addition does not disappear.


    Can I solve this the way I want it?



Below I'll send you the code I'm currently using. 

Please confirm.


<ejs-grid id="DataInputGrid" created="GridCreated" allowSelection="true" gridLines="Both" rowHeight="30" frozenColumns="7" height="540px"
                allowResizing="true" allowTextWrap="true" cellSave="cellSave" dataBound="dataBound" cellEdit="cellEdit" rowSelecting="rowSelecting" beforeBatchAdd="beforeBatchAdd"
                toolbar="@(new List<string>() {"Add","Delete","Update","Cancel" })">
        @*<e-grid-aggregates>
            <e-grid-aggregate>
                <e-aggregate-columns>
                    <e-aggregate-column field="RM_AREA" type="Custom" footerTemplate="AIR SYSTEM :${Custom}" customAggregate="@("customAggregateFn")"></e-aggregate-column>
                </e-aggregate-columns>
            </e-grid-aggregate>
        </e-grid-aggregates>
        <e-grid-aggregates>
            <e-grid-aggregate>
                <e-aggregate-columns>
                    <e-aggregate-column field="RM_AREA" type="Sum" footerTemplate="ALL :${Sum}"></e-aggregate-column>
                </e-aggregate-columns>
            </e-grid-aggregate>
        </e-grid-aggregates>*@
        <e-grid-groupsettings></e-grid-groupsettings>
        <e-grid-textwrapsettings wrapMode="Header"></e-grid-textwrapsettings>
        <e-grid-selectionsettings checkboxOnly="true" type="Single"></e-grid-selectionsettings>
        <e-grid-editSettings allowAdding="true" allowEditing="true" allowDeleting="true" mode="Batch" newRowPosition="Bottom"></e-grid-editSettings>
        <e-grid-columns>
            <e-grid-column type="checkBox" width="40" headerTextAlign="Center" textAlign="Center"></e-grid-column>
            <e-grid-column field="BLDG_SNO" visible="false" isPrimaryKey="true" defaultValue="@empty"></e-grid-column>


            @*Frozen Column*@
            <e-grid-column headerText="ARCHITECTURAL INFORMATION" headerTextAlign="Center" textAlign="Center"
                            columns="@(new List<Syncfusion.EJ2.Grids.GridColumn>() {
                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="ROOM INFORMATION", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="RM_SNO" , Width ="150", HeaderText ="KEY" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Left},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="ROOM_NO" , Width ="90" , HeaderText ="ROOM NO." , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center , ValidationRules = new { required = true, number=true}},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="ID_COND_ZONE", Width ="90" , HeaderText ="ZONE" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right , ValidationRules = new { required = true, number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="AIR_SYS_NM" , Width ="90" , HeaderText ="AIR SYSTEM NAME", DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Left , ValidationRules = new { required = true, number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="RM_NM" , Width ="140", HeaderText ="ROOM NAME" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Left , ValidationRules = new { required=true}}}
                }})">
            </e-grid-column>


            @*ARCHITECHTURAL INFORMATION*@
            <e-grid-column headerText="ARCHITECTURAL INFORMATION" headerTextAlign="Center" textAlign="Center"
                           columns="@(new List<Syncfusion.EJ2.Grids.GridColumn>() {


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="ROOM INFORMATION" , TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="RM_AREA" , Width ="80" , Visible = false, HeaderText ="ROOM AREA (m2)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="RM_WIDTH" , Width ="80" , Visible = false, Format ="N1", HeaderText ="WIDTH (m)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="RM_LGTH" , Width ="80" , Visible = false, Format ="N1", HeaderText ="LENGTH (m)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="RM_CLG_HGT" , Width ="90" , Visible = false, Format ="N1", HeaderText ="CEILING HEIGHT (m)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="RM_FULL_HGT" , Width ="90" , Visible = false, Format ="N1", HeaderText ="FULL HEIGHT (m)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="RM_VOL" , Width ="100", Visible = false, Format ="N1", HeaderText ="ROOM VOLUME (m3)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="RM_NO_OF_OCC", Width ="100", Visible = false, Format ="N0", HeaderText ="NUMBER OF OCCUPANCY", DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }}} },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="OUTER WALL LENGTH", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWL_N", Width ="90", HeaderText ="N", Visible = false, Format ="N1", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWL_E", Width ="90", HeaderText ="E", Visible = false, Format ="N1", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWL_S", Width ="90", HeaderText ="S", Visible = false, Format ="N1", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWL_W", Width ="90", HeaderText ="W", Visible = false, Format ="N1", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }} } },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="OUTER WALL AREA" , TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWA_N", Width ="90", HeaderText ="N", Visible = false, Format ="N1", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWA_E", Width ="90", HeaderText ="E", Visible = false, Format ="N1", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWA_S", Width ="90", HeaderText ="S", Visible = false, Format ="N1", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWA_W", Width ="90", HeaderText ="W", Visible = false, Format ="N1", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}} },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="DOOR Q'ty" , TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="DOOR_QTY_N", Width ="90", HeaderText ="N", Visible = false, Format ="N0", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="DOOR_QTY_E", Width ="90", HeaderText ="E", Visible = false, Format ="N0", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="DOOR_QTY_S", Width ="90", HeaderText ="S", Visible = false, Format ="N0", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="DOOR_QTY_W", Width ="90", HeaderText ="W", Visible = false, Format ="N0", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }}} },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="WINDOW Q'ty" , TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="WIN_QTY_N", Width ="90", HeaderText ="N", Visible = false, Format ="N0", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="WIN_QTY_E", Width ="90", HeaderText ="E", Visible = false, Format ="N0", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="WIN_QTY_S", Width ="90", HeaderText ="S", Visible = false, Format ="N0", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="WIN_QTY_W", Width ="90", HeaderText ="W", Visible = false, Format ="N0", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }}} } }


            )"></e-grid-column>


            @*HEAT DISSIPATION*@
            <e-grid-column headerText="HEAT DISSIPATION" headerTextAlign="Center" textAlign="Center"
                            columns="@(new List<Syncfusion.EJ2.Grids.GridColumn>() {
                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="ELECTRIC", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_ELTR_WT" , Width ="92", Visible = false, Format ="N1", HeaderText ="HEAT DISSIPATION (Watt)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_ELTR_WT_AREA" , Width ="90", Visible = false, Format ="N1", HeaderText ="HEAT DISSPATION / AREA (Watt/m2)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="INSTRUMENT", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_ISTRM_WT" , Width ="92", Visible = false, Format ="N1", HeaderText ="HEAT DISSIPATION (Watt)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_ISTRM_WT_AREA" , Width ="90", Visible = false, Format ="N1", HeaderText ="HEAT DISSPATION / AREA (Watt/m2)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="TELECOM", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_TC_WT" , Width ="92", Visible = false, Format ="N1", HeaderText ="HEAT DISSIPATION (Watt)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_TC_WT_AREA" , Width ="90", Visible = false, Format ="N1", HeaderText ="HEAT DISSPATION / AREA (Watt/m2)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="ETC", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_ETC_WT" , Width ="92", Visible = false, Format ="N1", HeaderText ="HEAT DISSIPATION (Watt)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number=true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_ETC_WT_AREA" , Width ="90", Visible = false, Format ="N1", HeaderText ="HEAT DISSPATION / AREA (Watt/m2)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="TOTAL", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_TOTAL_WT" , Width ="92", Visible = false, Format ="N1", HeaderText ="TOTAL HEAT DISSIPATION (Watt)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_TOTAL_WT_AREA" , Width ="90", Visible = false, Format ="N1", HeaderText ="TOTAL HEAT DISSPATION / AREA (Watt/m2)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                }})">
            </e-grid-column>


            @*FRESH AIR SELECTION*@
            <e-grid-column headerText="FRESH AIR SELECTION" headerTextAlign="Center" textAlign="Center"
                            columns="@(new List<Syncfusion.EJ2.Grids.GridColumn>() {
                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="OCCUPANCY BASE", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_OB_OCC_UTFL", Width ="90", Visible = false, Format ="N1", HeaderText ="UNIT FLOW (L/S/PERSON)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_OB_OCC_FLRT", Width ="90", Visible = false, Format ="N1", HeaderText ="FLOW RATE (L/S)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="AREA BASE", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_AB_UTFL", Width ="90", Visible = false, Format ="N1", HeaderText ="UNIT FLOW (L/S/m2)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_AB_FLRT", Width ="90", Visible = false, Format ="N1", HeaderText ="FLOW RATE (L/S)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="FIXTURE UNIT BASE", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_FUB_TILT_UNFW", Width ="90", Visible = false, Format ="N1", HeaderText ="UNIT FLOW (L/S/TOILET)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_FUB_TILT_FLRT", Width ="90", Visible = false, Format ="N1", HeaderText ="FLOW RATE (L/S)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_FUB_SHW_UNFW" , Width ="90", Visible = false, Format ="N1", HeaderText ="UNIT FLOW (L/S/SHOWER)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_FUB_SHW_FLRT" , Width ="90", Visible = false, Format ="N1", HeaderText ="FLOW RATE (L/S)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="ΔP BASE", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_DPB_DP" , Width ="90", Visible = false, Format ="N1", HeaderText ="ΔP" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_DPB_TIGHT", Width ="90", Visible = false, Format ="N1", HeaderText ="TIGHTNESS" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, Edit = new { create ="TIGHT_Create", read ="TIGHT_Read", destory ="TIGHT_Destory", write ="TIGHT_Write" }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_DPB_FLRT" , Width ="90", Visible = false, Format ="N1", HeaderText ="FLOW RATE (L/S)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="ACH BASE", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_ACH" , Width ="90", Visible = false, Format ="N1", HeaderText ="ACH" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_ACH_FLRT", Width ="90", Visible = false, Format ="N1", HeaderText ="FLOW RATE (L/S)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="100% F.A", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_FA_FLRT", Width ="110", Visible = false, Format ="N1", HeaderText ="FLOW RATE (L/S)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="SELECT F.A AS E.A", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_FA_SELEC_FLRT", Width ="170", Visible = false, Format ="N0", HeaderText ="FLOW RATE (L/S)" , DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                }})">
            </e-grid-column>


            <e-grid-column headerText=""
                            columns="@(new List<Syncfusion.EJ2.Grids.GridColumn>() {
            new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="AIR BALANCE SUMMARY", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                new Syncfusion.EJ2.Grids.GridColumn { Field ="AIR_FRESH" , Width ="90", Visible = false, Format ="N0", HeaderText ="FRESH AIR (L/S)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="AIR_SUPPLY" , Width ="90", Visible = false, Format ="N0", HeaderText ="SUPPLY AIR (L/S)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="AIR_RETURN" , Width ="90", Visible = false, Format ="N0", HeaderText ="RETURN AIR (L/S)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="AIR_OV_PRS" , Width ="90", Visible = false, Format ="N0", HeaderText ="OVER-PRESSURE (L/S)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="AIR_EXHAUST" , Width ="90", Visible = false, Format ="N0", HeaderText ="EXHAUST AIR (L/S)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="AIR_EXHAUST_CHK" , Width ="90", Visible = false, HeaderText ="SELECT F.A AS E.A" , DefaultValue ="N", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Edit = new { create ="SEL_FA_Create", read ="SEL_FA_Read", destory ="SEL_FA_Destory", write ="SEL_FA_Write" }}
            }},
            new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="SPACE HEAT LOAD" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                new Syncfusion.EJ2.Grids.GridColumn { Field ="SHL_CSLW", Width ="90", Visible = false, Format ="N0", HeaderText ="COOLING SENSIBLE LOAD(Watt)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="SHL_CLLW", Width ="90", Visible = false, Format ="N0", HeaderText ="COOLING LATENT LOAD(Watt)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="SHL_HSLW", Width ="90", Visible = false, Format ="N0", HeaderText ="HEATING SENSIBLE LOAD(Watt)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="SHL_HLLW", Width ="90", Visible = false, Format ="N0", HeaderText ="HEATING LATENT LOAD(Watt)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }}
            }},
            new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="PLUMBING FIXTURE" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_VALV_WC" , Width ="90", Visible = false, Format ="N0", HeaderText ="WATER CLOSET (FLUSH VALVE)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_TANK_WC" , Width ="90", Visible = false, Format ="N0", HeaderText ="WATER CLOSET (FLUSH TANK)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_FHPS" , Width ="90", Visible = false, Format ="N0", HeaderText ="FAUCET/ HOSS BIBB/ PERENNIAL SPRAY" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_URINAL" , Width ="90", Visible = false, Format ="N0", HeaderText ="URINAL" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_LAVATORY" , Width ="90", Visible = false, Format ="N0", HeaderText ="LAVATORY" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_SERVICE_SK" , Width ="90", Visible = false, Format ="N0", HeaderText ="SERVICE SINK" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_ABLUTION_TAP" , Width ="90", Visible = false, Format ="N0", HeaderText ="ABLUTION TAP" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_KITCHEN_SK" , Width ="90", Visible = false, Format ="N0", HeaderText ="KITCHEN SINK" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_DK_FOUNTAIN" , Width ="90", Visible = false, Format ="N0", HeaderText ="DRINKING FOUNTAIN" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_HUMIDIFIER" , Width ="90", Visible = false, Format ="N0", HeaderText ="HUMIDIFIER" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_E_WASHER" , Width ="90", Visible = false, Format ="N0", HeaderText ="EYE WASHER" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_E_WS" , Width ="90", Visible = false, Format ="N0", HeaderText ="EYE WASH & SHOWER" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="PF_SHOWER" , Width ="90", Visible = false, Format ="N0", HeaderText ="SHOWER" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }}
            }},
            new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="INDOOR CONDITION", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                new Syncfusion.EJ2.Grids.GridColumn { Field ="ID_COND_SUMM_DB", Width ="100", Visible = false, Format ="N1", HeaderText ="SUMMER DB (°C)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="ID_COND_WNTR_DB", Width ="100", Visible = false, Format ="N1", HeaderText ="WINTER DB (°C)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="ID_COND_RH" , Width ="100", Visible = false, Format ="N0", HeaderText ="RH (%)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }},
                new Syncfusion.EJ2.Grids.GridColumn { Field ="ID_COND_AH" , Width ="100", Visible = false, Format ="N5", HeaderText ="AH (kg/kg)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }}
            }} })">


            </e-grid-column>


            <e-grid-column field="PC_WALL_AREA" visible="false" defaultValue="@empty"></e-grid-column>
            <e-grid-column field="PC_AES" visible="false" defaultValue="@empty"></e-grid-column>
            <e-grid-column field="PC_AL" visible="false" defaultValue="@empty"></e-grid-column>
            <e-grid-column field="PC_QR" visible="false" defaultValue="@empty"></e-grid-column>
            <e-grid-column field="PC_V" visible="false" defaultValue="@empty"></e-grid-column>
            <e-grid-column field="PC_SF" visible="false" defaultValue="@empty"></e-grid-column>


            <e-grid-column field="RA_WINDB" visible="false" defaultValue="@empty"></e-grid-column>
            <e-grid-column field="RA_WINDB_MAX" visible="false" defaultValue="@empty"></e-grid-column>
            <e-grid-column field="RA_AH" visible="false" defaultValue="@empty"></e-grid-column>
            <e-grid-column field="RA_AH_MAX" visible="false" defaultValue="@empty"></e-grid-column>


        </e-grid-columns>
    </ejs-grid>



thanks


4 Replies

TK TaeWook Kang March 7, 2022 09:04 AM UTC

An example picture is also attached for item 2.

Grid Error.png



SK Sujith Kumar Rajkumar Syncfusion Team March 7, 2022 11:50 AM UTC

Hi TaeWook, 
 
Greetings from Syncfusion support. 
 
We are not able to clearly understand the reported problems from the provided information. So please confirm us the following details to validate further on this, 
 
  • Share us a video demonstration of the problem for better understanding.
  • Regarding this – “there is an area where 'args.cancel = true' is set in the middle of each cell.”, let us know for which cases you are cancelling the edit action(with the code snippet).
  • Regarding this – “When Tab is used in the last cell to the first row, the row below is automatically added. This addition does not disappear.”, when a tab key is pressed from the last row it will add a new record by default. This is the behavior of this case. So please confirm us if  you wish to prevent the tab key from editing/adding a new row for all cases or only to prevent it from adding a new row from the last row.
  • Let us know how you have referenced the script file for the EJ2 Grid control.
 
Regards, 
Sujith R 



TK TaeWook Kang March 22, 2022 03:19 AM UTC

Email address: [email protected]

I have attached the video to , so please check it.



SK Sujith Kumar Rajkumar Syncfusion Team March 22, 2022 10:30 AM UTC

Hi TaeWook, 
 
Thanks for sharing the details in the support ticket that you have created. We will update the further details for this query in the ticket so please follow the same for updates. 
 
Regards, 
Sujith R 


Loader.
Up arrow icon