We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

Inquiry about Grid "Cracking" Error

HI.

The following grid consists of a grid that is "FROZEN" and a grid that is "CHANGE" depending on the event.

@*Frozen Column*@
            <e-grid-column headerText="BUILDING 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.Left , ValidationRules = new { required = 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 ="ID_COND_ZONE", Width ="60" , 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 ="RM_NM" , Width ="200", 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="BUILDING 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, Format ="N1", HeaderText ="ROOM AREA (m2)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right },
                    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 }}} },


            })"></e-grid-column>


            <e-grid-column headerText="INDOOR CONDITION" headerTextAlign="Center" 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 ="MAX 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) FOR HUMIDIFIER CALC." , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }}
            })"></e-grid-column>


            <e-grid-column headerText="WALL INFORMATION" headerTextAlign="Center" textAlign="Center"
                           columns="@(new List<Syncfusion.EJ2.Grids.GridColumn>() {
                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="OUTER WALL LENGTH(m)", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWL_N", Width ="60", 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 ="60", 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 ="60", 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 ="60", 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(m2)" , TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWA_N", Width ="60", 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 ="60", 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 ="60", 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 ="60", HeaderText ="W", Visible = false, Format ="N1", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}} },


            })"></e-grid-column>


            <e-grid-column headerText="DOOR & WINDOW INFORMATION" headerTextAlign="Center" textAlign="Center"
                           columns="@(new List<Syncfusion.EJ2.Grids.GridColumn>() {
                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="DOOR Q'ty(EA)" , TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="DOOR_QTY_N", Width ="60", 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 ="60", 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 ="60", 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 ="60", 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(EA)" , TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="WIN_QTY_N", Width ="60",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 ="60", 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 ="60", 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 ="60", 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>


If you look at the attached image in the comments, you can see that the grid is broken by creating a notification window in the column that gave "VALIDATION RULE".


But this breaking happens randomly and I think this problem is a bug.

I look forward to a good answer by identifying the image and the problem.

regards.


18 Replies

TK TaeWook Kang October 5, 2022 09:09 PM

Error Image




TK TaeWook Kang October 5, 2022 09:12 PM


Problem-free image



RR Rajapandi Ravi Syncfusion Team October 6, 2022 08:42 AM

Hi Taewook,


Currently we are validating your query with your shared information, and we will update you the details on or before 10th Oct 2022. Until then we appreciate your patience.


Regards,

Rajapandi R



RR Rajapandi Ravi Syncfusion Team October 10, 2022 08:20 AM

Hi TaeWook,


Thanks for your patience


Based on your query we have prepared a sample and tried to reproduce your reported problem, but it was unsuccessful. Please refer the below sample for more information.


Sample: https://www.syncfusion.com/downloads/support/directtrac/general/ze/178012223376228.zip


In your query you have mentioned that “grid that is "FROZEN" and a grid that is "CHANGE" depending on the event”. So, before we start providing solution on your query, we need some information for our clarification. Please share the below details that will be helpful for us to provide better solution.


1)             Please confirm depending on the event what you are changing in the Grid.


2)             Share your exact requirement scenario with detailed descriptions


3)             Please share your Grid rendering code, we would like to check your Grid initialization with events and event customizations.


4)             If possible, please share any issue reproducible sample or try to reproduce the issue with our above attached sample.


Regards,

Rajapandi R



TK TaeWook Kang October 12, 2022 06:29 PM

Thank you for your kind answer.

I hope you can look at the following code and answer it.

If you give it as "height = 100%" of the grid, the problem does not occur, but we have to set the height of the grid because we have to prevent the "Scroll bar" from occurring on the webpage.

If the "Broken" phenomenon cannot be reproduced by referring to the following code, please reply if the "Scroll bar" on the web page is not generated in the "Height = 100%" state and can be resized through the "Scroll bar" on the grid itself.


<div id="Content1" style="height: auto; display: none; margin-top: 10px;">


    <div id="buttonTop" style="height:30px; padding-bottom:10px;">
        <div style="float:left; width:41%;">
            @*좌측정렬 BTN*@
            <button id="SendHeat" class="e-btn" type="button" style="font-size: 12px; height: 30px; width: 150px; margin-right: 10px; background-color: cornflowerblue; border-color:cornflowerblue; ">
                REQUEST HEAT DISSIP.
            </button>
            <button id="SendOcc" class="e-btn" type="button" style="font-size: 12px; height: 30px; width: 130px; margin-right: 10px; background-color: cornflowerblue; border-color: cornflowerblue; ">
                REQUEST OCC.
            </button>
            <button id="ReceiveHeat" class="e-btn" type="button" style="font-size: 12px; height: 30px; width: 155px; margin-right: 10px; background-color: cornflowerblue; border-color: cornflowerblue; ">
                CHECK EDP HEAT DISSIP.
            </button>
            <button id="ReceiveOcc" class="e-btn" type="button" style="font-size: 12px; height: 30px; width: 150px; margin-right: 10px; background-color: cornflowerblue; border-color: cornflowerblue; ">
                CHECK EDP OCC.
            </button>
        </div>
        <div style="float:right; width: 59%">
            @*우측 정렬 BTN*@
            <button id="ExcelExport" class="e-btn" type="button" style=" float: right; font-size: 12px; height: 30px; width: 130px; margin-right: 10px; background-color: cornflowerblue; border-color: cornflowerblue;" onclick="ExcelUpload()">
                EXCEL IMPORT
            </button>
            <button id="ExcelExport" class="e-btn" type="button" style=" float: right; font-size: 12px; height: 30px; width: 130px; margin-right: 10px; background-color: cornflowerblue; border-color: cornflowerblue;" onclick="HvacExport()">
                EXCEL EXPORT
            </button>
            <button id="WordImport" class="e-btn" type="button" style=" float: right; font-size: 12px; height: 30px; width: 130px; margin-right: 10px; background-color: cornflowerblue; border-color: cornflowerblue;" onclick="Report()">
                E20-II IMPORT
            </button>
            <button id="AirSystemSum" class="e-btn" type="button" style=" float: right; font-size: 12px; height: 30px; width: 150px; margin-right: 10px; background-color: cornflowerblue; border-color: cornflowerblue;" onclick="AirSystemSummary();">
                AIR SYSTEM SUMMARY
            </button>
            <button id="PersnalSet" class="e-btn" type="button" style=" float: right; font-size: 12px; height: 30px; width: 150px; margin-right: 10px; background-color: cornflowerblue; border-color: cornflowerblue;" onclick="GridColumnPersonamSetting();">
                PERSONAL SETTING
            </button>
            <button id="STDValue" class="e-btn" type="button" style=" float: right; font-size: 12px; height: 30px; width: 130px; margin-right: 10px; background-color: cornflowerblue; border-color: cornflowerblue;" onclick="STDValueSetting();">
                STD F.A VALUE
            </button>
        </div>
    </div>


    <div id="ColumnCheckMiddle" style="height:30px; padding-bottom:10px;">
        <ejs-checkbox id="checkBD" checked="false" change="changeColumnCheck" label="BLDG"></ejs-checkbox>    
        <ejs-checkbox id="checkID" checked="false" change="changeColumnCheck" label="INDOOR"></ejs-checkbox>    
        <ejs-checkbox id="checkWL" checked="false" change="changeColumnCheck" label="WALL"></ejs-checkbox>    
        <ejs-checkbox id="checkDW" checked="false" change="changeColumnCheck" label="DOOR&WINDOW"></ejs-checkbox>    
        <ejs-checkbox id="checkHD" checked="false" change="changeColumnCheck" label="HEAT DISPP."></ejs-checkbox>    
        <ejs-checkbox id="checkFA" checked="false" change="changeColumnCheck" label="F.A"></ejs-checkbox>    
        <ejs-checkbox id="checkAB" checked="false" change="changeColumnCheck" label="AIR BALANCE"></ejs-checkbox>    
        <ejs-checkbox id="checkSL" checked="false" change="changeColumnCheck" label="SPC LOAD"></ejs-checkbox>    
        <ejs-checkbox id="checkPL" checked="false" change="changeColumnCheck" label="PLMB"></ejs-checkbox>    


    </div>


    @*cellEdit="cellEdit"*@
    <ejs-grid id="DataInputGrid" created="GridCreated" allowSelection="true" gridLines="Both" rowHeight="30" frozenColumns="7" height=100% toolbarClick="MainToolbarClick" queryCellInfo="queryCellInfo"
              allowResizing="true" allowTextWrap="true" cellSave="cellSave" dataBound="dataBound" cellEdit="cellEdit" rowSelecting="rowSelecting" rowDeselected="rowDeselected" beforeBatchAdd="beforeBatchAdd" rowDataBound="rowDataBound"
              toolbar="@(new List<string>() {"Add","Delete","Update","Cancel" })" actionComplete="AlertTip">
        @*<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-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 id="checkBox" 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="BUILDING 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.Left , ValidationRules = new { required = 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 ="ID_COND_ZONE", Width ="60" , 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 ="RM_NM" , Width ="200", 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="BUILDING 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, Format ="N1", HeaderText ="ROOM AREA (m2)" , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right },
                    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 }}} },


            })"></e-grid-column>


            <e-grid-column headerText="INDOOR CONDITION" headerTextAlign="Center" 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 ="MAX 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) FOR HUMIDIFIER CALC." , DefaultValue ="" , HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right, ValidationRules = new { number = true }}
            })"></e-grid-column>


            <e-grid-column headerText="WALL INFORMATION" headerTextAlign="Center" textAlign="Center"
                           columns="@(new List<Syncfusion.EJ2.Grids.GridColumn>() {
                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="OUTER WALL LENGTH(m)", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWL_N", Width ="60", 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 ="60", 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 ="60", 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 ="60", 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(m2)" , TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="OWA_N", Width ="60", 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 ="60", 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 ="60", 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 ="60", HeaderText ="W", Visible = false, Format ="N1", DefaultValue ="", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}} },


            })"></e-grid-column>


            <e-grid-column headerText="DOOR & WINDOW INFORMATION" headerTextAlign="Center" textAlign="Center"
                           columns="@(new List<Syncfusion.EJ2.Grids.GridColumn>() {
                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="DOOR Q'ty(EA)" , TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="DOOR_QTY_N", Width ="60", 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 ="60", 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 ="60", 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 ="60", 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(EA)" , TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="WIN_QTY_N", Width ="60",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 ="60", 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 ="60", 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 ="60", 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 ="N0", 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 ="N0", 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 ="N0", 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 ="PROCESS", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_PROC_WT" , Width ="92", Visible = false, Format ="N0", 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_PROC_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 ="MECHANICAL", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="HD_MCC_WT" , Width ="92", Visible = false, Format ="N0", 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_MCC_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 ="N0", 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 ="N0", 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/PER.)" , 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 ="N2", 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 ="F.A", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_FA_MANUAL", Width ="110", Visible = true, Format ="N1", HeaderText ="F.A MANUAL INPUT" , DefaultValue ="aaaaaa", HeaderTextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, TextAlign = Syncfusion.EJ2.Grids.TextAlign.Right}}
                },


                new Syncfusion.EJ2.Grids.GridColumn { HeaderText ="SELECTED F.A(L/S)", TextAlign = Syncfusion.EJ2.Grids.TextAlign.Center, Columns = new List<Syncfusion.EJ2.Grids.GridColumn>(){
                    new Syncfusion.EJ2.Grids.GridColumn { Field ="FAS_FA_SELEC_FLRT", Width ="110", 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 ="N1", 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 ="N1", 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 ="N1", 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 ="N1", HeaderText ="PRESSURIZATION (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 ="N1", 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 ="70", 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 }}
            }} })">


            </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-columns>
    </ejs-grid>


</div>


regards.




TK TaeWook Kang October 12, 2022 06:36 PM

"높이 = 100%"의 경우

웹 페이지의 "스크롤 바"





TK TaeWook Kang October 12, 2022 06:38 PM

If the height is set, such as "Height = 400"




RR Rajapandi Ravi Syncfusion Team October 13, 2022 09:12 AM

Hi Taewook,


Thanks for your update


Currently we are validating your reported problem with your shared information, and we will update you the details on or before 17th Oct 2022. Until then we appreciate your patience.


Regards,

Rajapandi R




RR Rajapandi Ravi Syncfusion Team October 14, 2022 05:30 AM

Hi TaeWook,


Before we start providing solution to your query, we would like to share the behavior of our EJ2 Grid. The Vertical scrollbar appears on in the case of when the total row height is exceeds the Grid height. If the total row height does not exceed the Grid height the vertical scrollbar does not appear.


In your query you have shared the screenshot of validation error message position was top and bottom. By default, when there is space in the Grid the validation message was displayed in the bottom position and when there is no space the validation message was displayed on the top position.


In your shared screenshot,



The Grid height was 400 and the total row height was not exceeding the Grid’s height, so the vertical scrollbar was not appeared and also there is enough space in the below rows to display the validation message, so it was displayed in the bottom position. It was the default behavior of our Grid.


If you still face the issue, please share your exact requirement with detailed description and also share your issue scenario in video demonstration format.


Regards,

Rajapandi R



TK TaeWook Kang October 19, 2022 02:39 AM

Please review the process of answering questions.


I am not asking about the location of the "warning window" on the grid.


As you can see from the process of the comments, I can see that when I add row to the grid, the non-Frozen grid goes up with the creation of a warning window.


Please check based on this point.


I will attach the reference image to the next comment.


regards.






TK TaeWook Kang October 19, 2022 02:41 AM


Reference Image








TK TaeWook Kang October 19, 2022 02:42 AM






RR Rajapandi Ravi Syncfusion Team October 20, 2022 09:36 AM

Hi TaeWook,


Thanks for your update


We have checked your reported problem and tried to reproduce at our end, but it was unsuccessful. Please refer the below sample for more information.


Sample: https://www.syncfusion.com/downloads/support/directtrac/general/ze/178012-1576861572.zip


Screenshot:



Regards,

Rajapandi R



TK TaeWook Kang October 20, 2022 06:56 PM

Thank you for your answer.

But we couldn't solve our problem with the sample you sent us.

I would appreciate it if you could reply after checking our new sample data.


//cshtml

@{
    var empty = string.Empty;


    string sUrl_UC = $"/IDI/TEST_URL?JobNo=SG6472&RevNo=2&sState=S0";
    string sCrud_UC = $"/IDI/UC_CRUD?JobNo=SG6472&RevNo=2&sState=U1";
}


<ejs-treegrid id="CalGrid" height="680" rowHeight="30" frozenColumns="7" gridLines="Both" treeColumnIndex="5"
              idMapping="SUB_BLDG_SNO" hasChildMapping="B_IS_PARENT" parentIdMapping='P_BLDG_SNO' allowTextWrap="true" allowResizing="true" beforeBatchAdd="beforeBatchAdd" toolbar="@(new List<string>() {"Add","Delete","Update","Cancel" })" cellEdit="CoverCellEdit" >
    <e-data-manager url="@sUrl_UC" crudUrl="@sCrud_UC" adaptor="UrlAdaptor"></e-data-manager>
    <e-treegrid-editsettings allowAdding="true" allowEditing="true" allowDeleting="true" mode="Batch" newRowPosition="Child"></e-treegrid-editsettings>
    <e-treegrid-textwrapsettings wrapMode="Header"></e-treegrid-textwrapsettings>
    <e-treegrid-columns>
        <e-treegrid-column field="SUB_BLDG_SNO" visible="false" defaultValue="@empty" isPrimaryKey="true"></e-treegrid-column>
        <e-treegrid-column field="BLDG_SNO" visible="false" defaultValue="@empty"></e-treegrid-column>
        <e-treegrid-column field="P_BLDG_SNO" visible="false" defaultValue="@empty"></e-treegrid-column>
        <e-treegrid-column field="IS_PARENT" visible="false" defaultValue="@empty"></e-treegrid-column>
        <e-treegrid-column field="B_IS_PARENT" visible="false" defaultValue="@empty"></e-treegrid-column>


        <e-treegrid-column field="BLDG_NO" headerText="BUILDING NO." width="150" defaultValue="@empty" headerTextAlign="Center" textAlign="Center"></e-treegrid-column>
        <e-treegrid-column field="BLDG_NM" headerText="BUILDING NAME" width="150" defaultValue="@empty" headerTextAlign="Center" textAlign="Left"></e-treegrid-column>


        <e-treegrid-column field="VALV_WC" headerText="WATER CLOSET (FLUSH VALVE)" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="TANK_WC" headerText="WATER CLOSET (FLUSH TANK)" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="FHPS" headerText="FAUCET/ HOSS BIBB/ PERENNIAL SPRAY" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right" ValidationRules = "new { required = true, number=true }"></e-treegrid-column>
        <e-treegrid-column field="URINAL" headerText="URINAL" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="LAVATORY" headerText="LAVATORY" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="SERVICE_SK" headerText="SERVICE SINK" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="ABLUTION_TAP" headerText="ABLUTION TAP" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="KITCHEN_SK" headerText="KITCHEN SINK" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="DK_FOUNTAIN" headerText="DRINKING FOUNTAIN" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="HUMIDIFIER" headerText="HUMIDIFIER" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="E_WASHER" headerText="EYE WASHER" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="E_WS" headerText="EYE WASH & SHOWER" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="SHOWER" headerText="SHOWER" width="85" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>


        <e-treegrid-column field="TOTAL_FU" headerText="TOTAL F.U" width="100" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="PEAK_FLRT_GPM" headerText="PEAK FLOW RATE(GPM)" width="100" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="PEAK_FLRT_LPM" headerText="PEAK FLOW RATE(LPM)" width="100" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="P_SIZE" headerText="PIPE SIZE (INCH)" width="100" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="NO_OF_OCC" headerText="NUMBER OF OCCUPANCY" width="100" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="SUPPLY_WATER" headerText="SUPPLY WATER [GALLON/DAY/PERSON]" width="100" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="GALLON" headerText="PERSON [GALLON/DAY]" width="100" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
        <e-treegrid-column field="LITER" headerText="PERSON [LITER/DAY]" width="100" defaultValue="@empty" headerTextAlign="Center" textAlign="Right"></e-treegrid-column>
    </e-treegrid-columns>
</ejs-treegrid>






<script>
    var DataGrid = null;
    var rowSel = null;


    function beforeBatchAdd(args) {
        DataGrid = document.getElementById("CalGrid").ej2_instances[0];
        rowSel = DataGrid.getSelectedRecords();


        if (rowSel.length > 0) {
            var P_BLDG_SNO = rowSel[0].P_BLDG_SNO;
            if (P_BLDG_SNO == null) {


            }
            else { args.cancel = true; }
        }
        else { args.cancel = true; }
    }


    //cellEdit
    function CoverCellEdit(args) {


        var colName = args.columnName;
        if (colName == "BLDG_NO" || colName == "BLDG_NM" || colName == "PEAK_FLRT_LPM" || colName == "ABLUTION_TAP" || colName == "E_WASHER" || colName == "PEAK_FLRT_LPM" || colName == "SUPPLY_WATER") {
            args.cancel = true;
        }
    }


    function testBound(args) {
        var aa = 1;
    }
</script>


//controller
public IActionResult TEST_URL([FromBody] DataManagerRequest dm)
        {
            List<testModel> list = new List<testModel>();


            for (int i = 0; i < 5; i++)
            {
                testModel model = new testModel();
                switch(i)
                {
                    case 0:
                            model.SUB_BLDG_SNO = 169;
                            model.BLDG_SNO = "SG6472-2-864-B-6430";
                            model.P_BLDG_SNO = null;
                            model.IS_PARENT = 0;
                            model.B_IS_PARENT = false;
                            model.BLDG_NO = "A";
                            model.BLDG_NM = "B";
                            model.VALV_WC = "C";
                            model.TANK_WC = "D";
                            model.FHPS = "E";
                            model.URINAL = "E";
                            model.LAVATORY = "E";
                            model.SERVICE_SK = "E";
                            model.ABLUTION_TAP = "E";
                            model.KITCHEN_SK = "E";
                            model.DK_FOUNTAIN = "E";
                            model.HUMIDIFIER = "E";
                            model.E_WASHER = "E";
                            model.SHOWER = "E";
                            model.TOTAL_FU = "E";
                            model.PEAK_FLRT_GPM = "E";
                            model.PEAK_FLRT_LPM = "E";
                            model.P_SIZE = "E";
                            model.NO_OF_OCC = "E";
                            model.SUPPLY_WATER = "E";
                            model.GALLON = "E";
                            model.LITER = "E";
                        break;
                    case 1:
                        model.SUB_BLDG_SNO = 170;
                        model.BLDG_SNO = "SG6472-2-864-B-6430";
                        model.P_BLDG_SNO = null;
                        model.IS_PARENT = 0;
                        model.B_IS_PARENT = false;
                        model.BLDG_NO = "A";
                        model.BLDG_NM = "B";
                        model.VALV_WC = "C";
                        model.TANK_WC = "D";
                        model.FHPS = "E";
                        model.URINAL = "E";
                        model.LAVATORY = "E";
                        model.SERVICE_SK = "E";
                        model.ABLUTION_TAP = "E";
                        model.KITCHEN_SK = "E";
                        model.DK_FOUNTAIN = "E";
                        model.HUMIDIFIER = "E";
                        model.E_WASHER = "E";
                        model.SHOWER = "E";
                        model.TOTAL_FU = "E";
                        model.PEAK_FLRT_GPM = "E";
                        model.PEAK_FLRT_LPM = "E";
                        model.P_SIZE = "E";
                        model.NO_OF_OCC = "E";
                        model.SUPPLY_WATER = "E";
                        model.GALLON = "E";
                        model.LITER = "E";
                        break;
                    case 2:
                        model.SUB_BLDG_SNO = 171;
                        model.BLDG_SNO = "SG6472-2-864-B-6430";
                        model.P_BLDG_SNO = null;
                        model.IS_PARENT = 0;
                        model.B_IS_PARENT = false;
                        model.BLDG_NO = "A";
                        model.BLDG_NM = "B";
                        model.VALV_WC = "C";
                        model.TANK_WC = "D";
                        model.FHPS = "E";
                        model.URINAL = "E";
                        model.LAVATORY = "E";
                        model.SERVICE_SK = "E";
                        model.ABLUTION_TAP = "E";
                        model.KITCHEN_SK = "E";
                        model.DK_FOUNTAIN = "E";
                        model.HUMIDIFIER = "E";
                        model.E_WASHER = "E";
                        model.SHOWER = "E";
                        model.TOTAL_FU = "E";
                        model.PEAK_FLRT_GPM = "E";
                        model.PEAK_FLRT_LPM = "E";
                        model.P_SIZE = "E";
                        model.NO_OF_OCC = "E";
                        model.SUPPLY_WATER = "E";
                        model.GALLON = "E";
                        model.LITER = "E";
                        break;
                    case 3:
                        //model.test1 = "";
                        //model.test2 = "";
                        //model.test3 = "";
                        //model.test4 = "";
                        //model.test5 = "";
                        break;
                    case 4:
                        //model.BLDG_NO = "A";
                        //model.BLDG_NM = "B";
                        //model.VALV_WC = "C";
                        //model.TANK_WC = "D";
                        //model.FHPS = "E";
                        //model.URINAL = "E";
                        //model.LAVATORY = "E";
                        //model.SERVICE_SK = "E";
                        //model.ABLUTION_TAP = "E";
                        //model.KITCHEN_SK = "E";
                        //model.DK_FOUNTAIN = "E";
                        //model.HUMIDIFIER = "E";
                        //model.E_WASHER = "E";
                        //model.SHOWER = "E";
                        //model.TOTAL_FU = "E";
                        //model.PEAK_FLRT_GPM = "E";
                        //model.PEAK_FLRT_LPM = "E";
                        //model.P_SIZE = "E";
&nb