hi, syncfusion team
The following code was created so that the row can be updated only when the required input values are met in the cell.
//html
<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 ="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 ="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_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 ="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_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 ="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>
Like the above source, it was created with ValidationRules=new{required=true}.
So, as shown in the image below, an error occurs when updating without adding the cell value.
However, once the cell is released through the "esc" button, it can be updated when it is updated.
I think it's a big problematic error.
I would appreciate it if you could reply after checking through reproduction.
Thank you for your kind response.
The image is not inserted, so I will add it as a comment.
It will be updated even if there is no required input value.
reference image
I think the explanation was lacking. So, Let me explain it again in detail.
Please check the code and contents below once again.
<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 ="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 ="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_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 ="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_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 ="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>
Above is the full code, below is a part.
@*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>
As you can see here, we have already set up ValidationRules .
At first, if you click Update, an Error occurs.
However, if you press ESC every time a requirement error occurs, you can update.
I'll attach another picture for the details.
thanks.
1.
2.
Hi Taewook,
Sorry for the inconvenienced.
Due to facing complexity of your reported requirement “Need to consider validation when multiple records are added in batch edit mode” we unable to deliver the feature on promised date and currently we are working on this with high priority.
So, we will deliver it in our upcoming patch release which is expected to be roll out in the 1st Week of May 2022.
Until that we appreciate your patience.
Regards,
Rajapandi R
Hi Taewook,
We are glad to announce that our Essential Javascript2 patch release (v20.1.52) has been rolled out successfully and in that release, we have added the fix for the issue - “Need to consider validation when multiple records are added in batch edit mode”. So please update your packages to this version to include this fix.
Feedback Link: https://www.syncfusion.com/feedback/32863/need-to-consider-validation-when-multiple-records-are-added-in-batch-edit-mode
We thank you for your support and appreciate your patience in waiting for this release. Please get in touch with us if you would require any further assistance.
Regards,
Rajapandi R