Hi,
Here is Sample, in which change any cell value(not just pass the focus but change the value of cell and then press tab it will tale 6-8 second to come in next cell).
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StoneGrading.aspx.cs" Inherits="TTDesign.UI.Modules.TACC.StoneGrading" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Ext.Net Example</title>
<script type="text/javascript">
var selection = null;
var previousSingleCts = null;
var previousSingleRapRate = null;
var previousSingleFinalRate = null;
var previousSingleFinalAmount = null;
var previousSingleFinalDiscount = null;
var previousSingleShapeID = null;
var previousSingleColorID = null;
var previousSingleClarityID = null;
var counter = 0;
var btnSave_State = function () {
//if (btnState != null) {
if (App.FormStoneGrading.disabled == false && App.btnRefresh.disabled == true) {
if (App.FormStoneGrading.isValid() == true) {
App.btnSave.enable(true);
}
else {
App.btnSave.disable(true);
}
}
else {
App.btnSave.disable(true);
}
}
function roundNumber(number, digits) {
var multiple = Math.pow(10, digits);
var rndedNum = Math.round(number * multiple) / multiple;
return rndedNum;
};
var avgPrice = function (records, cts, price) {
var i = 0,
totAmount = 0,
totCts = 0,
length = records.length,
record,
totAvg = 0;
for (; i < length; ++i) {
record = records[i];
if (record.get(cts) != undefined && record.get(price) != undefined) {
if (record.get(cts) != null && record.get(cts) != '')
totCts += record.get(cts);
if (record.get(cts) != null && record.get(price) != null)
totAmount += (record.get(cts) * record.get(price));
}
}
if (totCts != 0) {
totAvg = (totAmount / totCts);
totAvg = roundNumber(totAvg, 2);
}
return totAvg;
};
var avgDiscount = function (records, cts, rapPrice, price) {
var i = 0,
totAmount = 0,
totRapAmount = 0,
totRapAvg = 0,
totCts = 0,
length = records.length,
record,
totAvg = 0;
avgDisc = 0;
for (; i < length; ++i) {
record = records[i];
if (record.get(cts) != undefined && record.get(price) != undefined) {
if (record.get(cts) != null)
totCts += record.get(cts);
if (record.get(cts) != null && record.get(price) != null)
totAmount += record.get(cts) * record.get(price);
if (record.get(cts) != null && record.get(rapPrice) != null)
totRapAmount += record.get(cts) * record.get(rapPrice);
}
}
if (totCts != 0) {
totAvg = roundNumber((totAmount / totCts), 2);
totRapAvg = roundNumber((totRapAmount / totCts), 2);
if (totRapAvg != 0)
avgDisc = roundNumber((((totAvg - totRapAvg) / totRapAvg) * 100), 2);
}
return avgDisc;
};
var CommanRenderer = function (value, pStore, pReturnValue) {
var r = pStore.getById(value);
if (Ext.isEmpty(r) || r.data.ParameterValueID == -1) {
return "";
}
return r.get(pReturnValue);
}
var OpenExcel = function (filePath) {
myRef = window.open(filePath, 'OpenExcelFile', 'left=20,top=20,width=500,height=50,toolbar=1,resizable=0');
myRef.focus();
}
var beforeEditSingleDetail = function (editor, e) {
if (App.FormStoneGrading.disabled) {
e.cancel = true;
return;
}
if (e.field == 'Cts' || e.field == 'ShapeID' || e.field == 'ColorID' || e.field == 'ClarityID' ||
e.field == 'RapRate' || e.field == 'FinalDiscount' || e.field == 'FinalRate' || e.field == 'FinalAmount') {
previousSingleShapeID = App.StoreSingleDetail.data.items[e.rowIdx].data.ShapeID;
previousSingleColorID = App.StoreSingleDetail.data.items[e.rowIdx].data.ColorID;
previousSingleClarityID = App.StoreSingleDetail.data.items[e.rowIdx].data.ClarityID;
previousSingleCts = App.StoreSingleDetail.data.items[e.rowIdx].data.Cts;
previousSingleRapRate = App.StoreSingleDetail.data.items[e.rowIdx].data.RapRate;
previousSingleRapAmount = (App.StoreSingleDetail.data.items[e.rowIdx].data.RapRate * App.StoreSingleDetail.data.items[e.rowIdx].data.Cts);
previousSingleFinalDiscount = App.StoreSingleDetail.data.items[e.rowIdx].data.FinalDiscount;
previousSingleFinalRate = App.StoreSingleDetail.data.items[e.rowIdx].data.FinalRate;
previousSingleFinalAmount = App.StoreSingleDetail.data.items[e.rowIdx].data.FinalAmount;
}
}
var resetTotal = function (pOldCts, pNewCts, pOldFinalAmt, pNewFinalAmt, pOldRapAmt, pNewRapAmt) {
var totalCts = 0,
totalFinalAmt = 0,
avgFinalRate = 0,
avgFinalDisc = 0,
totalRapAmt = 0,
avgRapRate = 0;
totalCts = App.txtSingleTotalCts.value - (!!pOldCts ? pOldCts : 0) + (!!pNewCts ? pNewCts : 0);
App.txtSingleTotalCts.setValue(totalCts);
//alert(' o cts ' + pOldCts + ' ,new cts ' + pNewCts + ' , old amt ' + pOldFinalAmt + ' , new amt ' + pNewFinalAmt + ' old rap amt ' + pOldRapAmt + ' new rap amt ' + pNewRapAmt);
totalFinalAmt = App.txtSingleTotalFinalAmount.value - (!!pOldFinalAmt ? pOldFinalAmt : 0) + (!!pNewFinalAmt ? pNewFinalAmt : 0);
totalRapAmt = App.txtSingleTotalRapAmount.value - (!!pOldRapAmt ? pOldRapAmt : 0) + (!!pNewRapAmt ? pNewRapAmt : 0);
//alert(' tot cts ' + totalCts + ' tot f amt ' + totalFinalAmt + ' tot rap amt ' + totalRapAmt);
App.txtSingleTotalFinalAmount.setValue(totalFinalAmt);
App.txtSingleTotalRapAmount.setValue(totalRapAmt);
if (totalCts != 0) {
avgFinalRate = totalFinalAmt / totalCts;
avgRapRate = totalRapAmt / totalCts;
}
if (avgRapRate != 0) {
avgFinalDisc = (((avgFinalRate - avgRapRate) / avgRapRate) * 100);
}
App.txtTotal.setValue('Single Total Cts : ' + roundNumber(totalCts, 2) + ", Avg Rap : " + roundNumber(avgRapRate, 2) + ", Avg Final Disc : " + roundNumber(avgFinalDisc, 2) + ", Avg Final Rate : " + roundNumber(avgFinalRate, 2) + ", Total Final Amount : " + roundNumber(totalFinalAmt, 2))
}
var editSingleDetail = function (editor, e) {
currentSingleCts = App.StoreSingleDetail.data.items[e.rowIdx].data.Cts;
currentSingleRapRate = App.StoreSingleDetail.data.items[e.rowIdx].data.RapRate;
if (e.field == 'ShapeID') //&& e.colIdx == 0
{
//checking blank
if (e.value == '') {
Ext.Msg.alert("Error", "Shape is mandatory..", function (btn) {
if (btn == 'ok') {
editor.startEdit(e.rowIdx, e.colIdx);
}
})
}
}
if (e.field == 'ColorID') //&& e.colIdx == 0
{
//checking blank
if (e.value == '') {
Ext.Msg.alert("Error", "Color is mandatory..", function (btn) {
if (btn == 'ok') {
editor.startEdit(e.rowIdx, e.colIdx);
}
})
}
}
if (e.field == 'ClarityID') //&& e.colIdx == 0
{
//checking blank
if (e.value == '') {
Ext.Msg.alert("Error", "Clarity is mandatory..", function (btn) {
if (btn == 'ok') {
editor.startEdit(e.rowIdx, e.colIdx);
}
})
}
}
if (e.field == 'CutID') //&& e.colIdx == 0
{
//checking blank
if (e.value == '') {
Ext.Msg.alert("Error", "Cut is mandatory..", function (btn) {
if (btn == 'ok') {
editor.startEdit(e.rowIdx, e.colIdx);
}
})
};
}
if (e.field == 'PolishID') //&& e.colIdx == 0
{
//checking blank
if (e.value == '') {
Ext.Msg.alert("Error", "Polish is mandatory..", function (btn) {
if (btn == 'ok') {
editor.startEdit(e.rowIdx, e.colIdx);
}
})
};
}
if (e.field == 'SymmetryID') //&& e.colIdx == 0
{
//checking blank
if (e.value == '') {
Ext.Msg.alert("Error", "Symmetry is mandatory..", function (btn) {
if (btn == 'ok') {
editor.startEdit(e.rowIdx, e.colIdx);
}
})
};
}
if (e.field == 'FlourID') //&& e.colIdx == 0
{
//checking blank
if (e.value == '') {
Ext.Msg.alert("Error", "Flour is mandatory..", function (btn) {
if (btn == 'ok') {
editor.startEdit(e.rowIdx, e.colIdx);
}
})
};
}
if (e.field == 'Cts') //&& e.colIdx == 0
{
//checking blank
if (e.value == '') {
Ext.Msg.alert("Error", "Cts is mandatory..", function (btn) {
if (btn == 'ok') {
editor.startEdit(e.rowIdx, e.colIdx);
}
})
}
else {
resetTotal(previousSingleCts, e.value, previousSingleFinalAmount, App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount, previousSingleRapAmount, (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts));
}
}
if (e.field == 'ShapeID' || e.field == 'Cts' || e.field == 'ColorID' || e.field == 'ClarityID') {
currentSingleShapeID = App.StoreSingleDetail.data.items[e.rowIdx].data.ShapeID;
currentSingleCts = App.StoreSingleDetail.data.items[e.rowIdx].data.Cts;
currentSingleColorID = App.StoreSingleDetail.data.items[e.rowIdx].data.ColorID;
currentSingleClarityID = App.StoreSingleDetail.data.items[e.rowIdx].data.ClarityID;
if (currentSingleShapeID != previousSingleShapeID || currentSingleColorID != previousSingleColorID || currentSingleClarityID != previousSingleClarityID) {
if (currentSingleShapeID != null && currentSingleCts != null && currentSingleColorID != null && currentSingleClarityID != null &&
currentSingleShapeID != '' && currentSingleCts != '' && currentSingleColorID != '' && currentSingleClarityID != '') {
App.direct.FetchSingleRapPrice(currentSingleShapeID, currentSingleCts, currentSingleColorID, currentSingleClarityID, {
success: function (result) {
if (result != null) {
App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate = result;
if (result != 0) {
if (App.StoreSingleDetail.data.items[e.rowIdx].data.FinalDiscount != null &&
App.StoreSingleDetail.data.items[e.rowIdx].data.FinalDiscount != '') {
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalRate = roundNumber((result + (result * App.StoreSingleDetail.data.items[e.rowIdx].data.FinalDiscount) / 100), 2);
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount = roundNumber((App.StoreSingleDetail.data.items[e.rowIdx].data.FinalRate * currentSingleCts), 2)
}
}
else {
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalDiscount = null;
App.StoreSingleDetail.getAt(e.rowIdx).data.InwDiscount = null;
}
resetTotal(previousSingleCts, currentSingleCts, previousSingleFinalAmount, App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount, previousSingleRapAmount, (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts));
previousSingleFinalAmount = App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount;
previousSingleRapAmount = (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts);
e.grid.view.refreshNode(e.rowIdx);
}
}
});
}
}
}
if (e.field == 'FinalDiscount') {
if (currentSingleCts != null && currentSingleRapRate != null) {
if (e.value != previousSingleFinalDiscount) {
if (previousSingleRapAmount == '') {
previousSingleRapAmount = (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts)
}
if (e.value != null && e.value != '') {
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalRate = roundNumber((currentSingleRapRate + (currentSingleRapRate * e.value) / 100), 2)
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount = roundNumber((App.StoreSingleDetail.data.items[e.rowIdx].data.FinalRate * currentSingleCts), 2)
if (App.StoreSingleDetail.getAt(e.rowIdx).data.ShapeID == previousSingleShapeID || App.StoreSingleDetail.getAt(e.rowIdx).data.ColorID == previousSingleColorID || App.StoreSingleDetail.getAt(e.rowIdx).data.ClarityID == previousSingleClarityID) {
//alert(' p cts ' + previousSingleCts + ' c cts ' + currentSingleCts + ' p final amt ' + previousSingleFinalAmount + ' c final amt ' + App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount + ' p rap ' + previousSingleRapAmount + ' C rap ' + (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts));
resetTotal(previousSingleCts, currentSingleCts, previousSingleFinalAmount, App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount, previousSingleRapAmount, (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts));
}
e.grid.view.refreshNode(e.rowIdx);
}
else {
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalRate = roundNumber(currentSingleRapRate, 2)
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount = roundNumber((App.StoreSingleDetail.data.items[e.rowIdx].data.FinalRate * currentSingleCts), 2)
resetTotal(previousSingleCts, currentSingleCts, previousSingleFinalAmount, App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount, previousSingleRapAmount, (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts));
e.grid.view.refreshNode(e.rowIdx);
}
}
}
}
if (e.field == 'FinalRate') {
if (currentSingleCts != null && currentSingleRapRate != null) {
if (previousSingleRapAmount == '') {
previousSingleRapAmount = (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts)
}
if (e.value != previousSingleFinalRate) {
if (e.value != null && e.value != '') {
if (currentSingleRapRate != 0) {
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalDiscount = roundNumber(((100 * e.value) / currentSingleRapRate) - 100, 2)
}
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount = roundNumber((e.value * currentSingleCts), 2)
resetTotal(previousSingleCts, currentSingleCts, previousSingleFinalAmount, App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount, previousSingleRapAmount, (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts));
e.grid.view.refreshNode(e.rowIdx);
}
else {
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalDiscount = 100;
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount = 0;
resetTotal(previousSingleCts, currentSingleCts, previousSingleFinalAmount, App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount, previousSingleRapAmount, (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts));
e.grid.view.refreshNode(e.rowIdx);
}
}
}
}
if (e.field == 'FinalAmount') {
if (currentSingleCts != null && currentSingleRapRate != null && currentSingleCts != 0) {
if (previousSingleRapAmount == '') {
previousSingleRapAmount = (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts)
}
if (e.value != previousSingleFinalAmount) {
if (e.value != null && e.value != '') {
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalRate = roundNumber((e.value / currentSingleCts), 2)
resetTotal(previousSingleCts, currentSingleCts, previousSingleFinalAmount, App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount, previousSingleRapAmount, (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts));
if (currentSingleRapRate != 0) {
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalDiscount = roundNumber(((100 * (e.value / currentSingleCts)) / currentSingleRapRate) - 100, 2)
}
e.grid.view.refreshNode(e.rowIdx);
}
else {
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalRate = 0
App.StoreSingleDetail.getAt(e.rowIdx).data.FinalDiscount = 100
resetTotal(previousSingleCts, currentSingleCts, previousSingleFinalAmount, App.StoreSingleDetail.getAt(e.rowIdx).data.FinalAmount, previousSingleRapAmount, (App.StoreSingleDetail.getAt(e.rowIdx).data.RapRate * currentSingleCts));
e.grid.view.refreshNode(e.rowIdx);
}
}
}
}
}
var totAmt = function (records) {
var i = 0,
length = records.length,
total = 0,
record;
for (; i < length; ++i) {
record = records[i];
if (record.get('Cts') != undefined && record.get('EV1') != undefined) {
total += record.get('Cts') * record.get('EV1');
}
}
return total;
};
var avgEV1 = function (records) {
return avgPrice(records, 'Cts', 'EV1');
}
var avgRapRate = function (records) {
return avgPrice(records, 'Cts', 'RapRate');
}
var avgFinalRate = function (records) {
return avgPrice(records, 'Cts', 'FinalRate');
}
var avgFinalDiscount = function (records) {
return avgDiscount(records, 'Cts', 'RapRate', 'FinalRate');
}
var checkExtenstion = function (value) {
var a = value.lastIndexOf('.');
if (a > 0) {
var b = value.substr(a);
if (b == '.xls' || b == '.xlsx') {
return true;
} else {
return false;
}
}
}
</script>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:Store ID="StoreSheetName" IDMode="Static" runat="server">
<Model>
<ext:Model ID="ModelSheetName" runat="server" IDProperty="ValueField">
<Fields>
<ext:ModelField Name="ValueField" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreLabObjID" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelLabObjID" runat="server" IDMode="Static" IDProperty="ObjID">
<Fields>
<ext:ModelField Name="ObjID" />
<ext:ModelField Name="ObjName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleShapeID" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleShapeID" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleColorID" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleColorID" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleClarityID" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleClarity" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleCutID" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleCutID" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSinglePolishID" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSinglePolishID" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleSymmetryID" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleSymmetryID" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleFlourID" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleFlourID" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleLusterID" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleLusterID" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleProp" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleProp" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleCuletSize" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleCuletSize" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleTableInclusion" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleTableInclusion" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleOpenInclusion" runat="server" IDMode="Static">
<Model>
<ext:Model ID="Model6" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleCrownInclusion" runat="server" IDMode="Static">
<Model>
<ext:Model ID="SingleCrownInclusion" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSinglePavilionInclusion" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSinglePavilionInclusion" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSinglePavilionVisible" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSinglePavilionVisible" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleBrown" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleBrown" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleNatts" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleNatts" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleHeartArrow" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleHeartArrow" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleGirdle" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleGirdle" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleGirdleInclusion" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleGirdleInclusion" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleGirdleCondition" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleGirdleCondition" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleClarityStatus" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleClarityStatus" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSinglePainting" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSinglePainting" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleColorTing" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleColorTing" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleFolurTing" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleFolurTing" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleFeather" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleFeather" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleExtraFacet" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleExtraFacet" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleCavity" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleCavity" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleFancyColor" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleFancyColor" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleMilky" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleMilky" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSinglePolishFeatures" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSinglePolishFeatures" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleSymmetryFeatures" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleSymmetryFeatures" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Store ID="StoreSingleFlourColor" runat="server" IDMode="Static">
<Model>
<ext:Model ID="ModelSingleFlourColor" IDProperty="ParameterValueID" runat="server">
<Fields>
<ext:ModelField Name="ParameterValueID" />
<ext:ModelField Name="ValueName" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:FormPanel ID="FormStoneGrading" runat="server" DefaultAnchor="100%" BodyBorder="1" BodyPadding="5" Frame="true" IDMode="Static" MaskOnDisable="false" Disabled="true">
<Items>
<ext:Container ID="container2" runat="server" IDMode="Static" Layout="HBoxLayout">
<Items>
<ext:FieldSet ID="FieldSetOption" runat="server" Flex="1" Title="Select Stone By" Layout="HBoxLayout">
<Items>
<ext:DateField ID="dtTransDate" runat="server" FieldLabel="Date" Anchor="30%" LabelAlign="Right" IDMode="Static" AllowBlank="false" />
<ext:Component ID="Component2" runat="server" Width="25" />
<ext:FieldContainer ID="fc1" runat="server">
<Items>
<ext:RadioGroup ID="rdSelection" IDMode="Static" runat="server" FieldLabel="Stone Fetch By">
<Items>
<ext:Radio ID="rdExcel" runat="server" BoxLabel="Stone Excel" IDMode="Static" InputValue="X" Width="100" />
<ext:Radio ID="rdGrading" runat="server" BoxLabel="Upload Grading" IDMode="Static" InputValue="G" Width="110" />
<ext:Radio ID="rdParameters" runat="server" BoxLabel="Parameters" IDMode="Static" InputValue="P" Width="90" />
<ext:Radio ID="rdPacket" runat="server" BoxLabel="Lot-Packet" IDMode="Static" InputValue="L" Width="90" />
<ext:Radio ID="rdBarcode" runat="server" BoxLabel="Barcode" Checked="true" IDMode="Static" InputValue="B" Width="75" />
<ext:Radio ID="rdStone" runat="server" BoxLabel="StoneID" IDMode="Static" InputValue="S" Width="65" />
</Items>
<Listeners>
<Change Handler=" var a = #{rdSelection}.getChecked() ;
selection = a[0].inputValue;
#{FieldSetExcel}.disable(true); #{txtFileUpload}.value = '';
#{txtBarcode}.disable(true); #{txtBarcode}.value = '';
if(selection == 'X')
{
#{FieldSetExcel}.enable(true);
}
else if(selection == 'G')
{
#{FieldSetExcel}.enable(true);
}
else if(selection == 'P')
{
App.direct.ParameterWiseSearch();
}
else if(selection == 'L')
{
App.direct.StoneWiseSearch();
}
else if(selection == 'B')
{
#{txtBarcode}.enable(true);
}
else if(selection == 'S')
{
#{txtBarcode}.enable(true);
}
" />
</Listeners>
</ext:RadioGroup>
</Items>
</ext:FieldContainer>
<ext:TextField ID="txtBarcode" runat="server" IDMode="Static" EnableKeyEvents="true" Width="200">
<Listeners>
<KeyPress Handler="if(e.getKey() == Ext.EventObject.ENTER)
{
var a = #{rdSelection}.getChecked() ;
selection = a[0].inputValue;
if(selection == 'B')
{
var b = #{StoreSingleDetail}.find('StoneID', #{txtBarcode}.value);
if(b==-1)
{
App.direct.FetchStoneThroughBarcodeOrStoneID('B');
}
else
{
alert('Stone is already added in Grading Detail.')
}
}
else if(selection == 'S')
{
var c = #{StoreSingleDetail}.find('DisplayStoneID', #{txtBarcode}.value);
if(c==-1)
{
App.direct.FetchStoneThroughBarcodeOrStoneID('S');
}
else
{
alert('Stone is already added in Grading Detail.')
}
}
}" />
</Listeners>
</ext:TextField>
</Items>
</ext:FieldSet>
<ext:Component ID="comp1" runat="server" Width="8" />
</Items>
</ext:Container>
<ext:FieldSet ID="FieldSetExcel" runat="server" Flex="1" Title="Excel Parameters" Layout="HBoxLayout">
<Items>
<ext:FileUploadField ID="txtFileUpload" runat="server" Text="Select Excel File" Icon="Attach" Width="375" IDMode="Static" PreventMark="true">
<Listeners>
<Change Handler="var a=#{txtFileUpload}.value;
if(!checkExtenstion(a)){
alert('Plz select Excel - CSV File.');
this.markInvalid('Invalid Selection');
} else
{
this.clearInvalid();
}
" />
</Listeners>
</ext:FileUploadField>
<ext:ComboBox ID="cmbSheet" runat="server" DisplayField="ValueField" ValueField="ValueField" Width="150" IDMode="Static" ForceSelection="true" StoreID="StoreSheetName">
</ext:ComboBox>
<ext:TextField ID="txtFP" runat="server" Hidden="true" IDMode="Static" />
<ext:Button ID="btnUpload" runat="server" Icon="PageExcel" Text="Upload" IDMode="Static">
</ext:Button>
</Items>
</ext:FieldSet>
</Items>
<Listeners>
<FieldValidityChange Handler="btnSave_State();" />
</Listeners>
</ext:FormPanel>
<ext:FormPanel ID="FormPanel1" runat="server" Title="Stone Grading" DefaultAnchor="100%" BodyBorder="1" BodyPadding="5" Frame="true" IDMode="Static" MaskOnDisable="false" Height="390">
<Items>
<ext:GridPanel ID="GridSingleDetail" runat="server" IDMode="Static" RowLines="true" ColumnLines="true" Height="350" BodyBorder="1" AutoScroll="true">
<Store>
<ext:Store ID="StoreSingleDetail" runat="server" IDMode="Static" >
<Model>
<ext:Model ID="ModelSingleDetail" runat="server" IDMode="Static" IDProperty="CollectionID" ClientIdProperty="DoNotUse">
<Fields>
<ext:ModelField Name="CollectionID" Mapping="CollectionID" DefaultValue="-1" />
<ext:ModelField Name="CompanyID" Mapping="CompanyID" DefaultValue="-1" />
<ext:ModelField Name="EntryType" Mapping="EntryType" />
<ext:ModelField Name="PObjTypeID" Mapping="PObjTypeID" DefaultValue="-1" />
<ext:ModelField Name="PObjID" Mapping="PObjID" DefaultValue="-1" />
<ext:ModelField Name="PTreeID" Mapping="PTreeID" DefaultValue="-1" />
<ext:ModelField Name="ObjTypeID" Mapping="ObjTypeID" DefaultValue="-1" />
<ext:ModelField Name="ObjID" Mapping="ObjID" DefaultValue="-1" />
<ext:ModelField Name="TreeID" Mapping="TreeID" DefaultValue="-1" />
<ext:ModelField Name="LotID" Mapping="LotID" />
<ext:ModelField Name="PktID" Mapping="PktID" />
<ext:ModelField Name="StoneID" Mapping="StoneID" DefaultValue="-1" />
<ext:ModelField Name="DisplayStoneID" Mapping="DisplayStoneID" />
<ext:ModelField Name="Pcs" />
<ext:ModelField Name="Cts" Mapping="Cts" />
<ext:ModelField Name="WgtDiff" Mapping="WgtDiff" />
<ext:ModelField Name="TransDate" Mapping="TransDate" />
<ext:ModelField Name="RapRate" Mapping="RapRate" />
<ext:ModelField Name="FinalRate" Mapping="FinalRate" />
<ext:ModelField Name="FinalDiscount" Mapping="FinalDiscount" />
<ext:ModelField Name="FinalAmount" Mapping="FinalAmount" />
<ext:ModelField Name="IsFinal" Mapping="IsFinal" DefaultValue="true" />
<ext:ModelField Name="TxnID" Mapping="TxnID" DefaultValue="-1" />
<ext:ModelField Name="FrTxnID" Mapping="FrTxnID" />
<ext:ModelField Name="IsCertified" Mapping="IsCertified" DefaultValue="false" />
<ext:ModelField Name="LabObjID" Mapping="LabObjID" />
<ext:ModelField Name="LabReportNo" Mapping="LabReportNo" />
<ext:ModelField Name="LabControlNo" Mapping="LabControlNo" />
<ext:ModelField Name="CertificateDate" Mapping="CertificateDate" />
<ext:ModelField Name="SmartID" Mapping="SmartID" />
<ext:ModelField Name="ShapeID" Mapping="ShapeID" />
<ext:ModelField Name="SizeID" Mapping="SizeID" />
<ext:ModelField Name="ColorID" Mapping="ColorID" />
<ext:ModelField Name="ClarityID" Mapping="ClarityID" />
<ext:ModelField Name="CutID" Mapping="CutID" />
<ext:ModelField Name="PolishID" Mapping="PolishID" />
<ext:ModelField Name="SymmetryID" Mapping="SymmetryID" />
<ext:ModelField Name="FlourID" Mapping="FlourID" />
<ext:ModelField Name="LusterID" Mapping="LusterID" />
<ext:ModelField Name="Prop" Mapping="Prop" />
<ext:ModelField Name="Length" Mapping="Length" />
<ext:ModelField Name="Width" Mapping="Width" />
<ext:ModelField Name="Height" Mapping="Height" />
<ext:ModelField Name="Measurment" Mapping="Measurment" />
<ext:ModelField Name="TotalDepth" Mapping="TotalDepth" />
<ext:ModelField Name="CuletSize" Mapping="CuletSize" />
<ext:ModelField Name="Inscription" Mapping="Inscription" />
<ext:ModelField Name="DepthMM" Mapping="DepthMM" />
<ext:ModelField Name="DepthPercent" Mapping="DepthPercent" />
<ext:ModelField Name="TableMM" Mapping="TableMM" />
<ext:ModelField Name="TablePercent" Mapping="TablePercent" />
<ext:ModelField Name="TableWidthPercent" Mapping="TableWidthPercent" />
<ext:ModelField Name="TableDiameter" Mapping="TableDiameter" />
<ext:ModelField Name="TableOffCenter" Mapping="TableOffCenter" />
<ext:ModelField Name="TableOffCulet" Mapping="TableOffCulet" />
<ext:ModelField Name="TableInclusion" Mapping="TableInclusion" />
<ext:ModelField Name="OpenInclusion" Mapping="OpenInclusion" />
<ext:ModelField Name="CrownAngle" Mapping="CrownAngle" />
<ext:ModelField Name="CrownHeight" Mapping="CrownHeight" />
<ext:ModelField Name="CrownDepthMM" Mapping="CrownDepthMM" />
<ext:ModelField Name="CrownDepthPercent" Mapping="CrownDepthPercent" />
<ext:ModelField Name="CrownInclusion" Mapping="CrownInclusion" />
<ext:ModelField Name="PavilionAngle" Mapping="PavilionAngle" />
<ext:ModelField Name="PavilionHeight" Mapping="PavilionHeight" />
<ext:ModelField Name="PavilionDepthMM" Mapping="PavilionDepthMM" />
<ext:ModelField Name="PavilionDepthPecent" Mapping="PavilionDepthPecent" />
<ext:ModelField Name="PavilionInclusion" Mapping="PavilionInclusion" />
<ext:ModelField Name="PavilionVisible" Mapping="PavilionVisible" />
<ext:ModelField Name="StarLength" Mapping="StarLength" />
<ext:ModelField Name="LengthHalvesCrPercent" Mapping="LengthHalvesCrPercent" />
<ext:ModelField Name="LengthHalvesPavPercent" Mapping="LengthHalvesPavPercent" />
<ext:ModelField Name="lowerHalf" Mapping="lowerHalf" />
<ext:ModelField Name="LowerHlafPercent" Mapping="LowerHlafPercent" />
<ext:ModelField Name="Brown" Mapping="Brown" />
<ext:ModelField Name="Natts" Mapping="Natts" />
<ext:ModelField Name="HeartArrow" Mapping="HeartArrow" />
<ext:ModelField Name="Diameter" Mapping="Diameter" />
<ext:ModelField Name="DiameterMin" Mapping="DiameterMin" />
<ext:ModelField Name="DiameterMax" Mapping="DiameterMax" />
<ext:ModelField Name="Diameteravg" Mapping="Diameteravg" />
<ext:ModelField Name="Girdle" Mapping="Girdle" />
<ext:ModelField Name="GirdleMin" Mapping="GirdleMin" />
<ext:ModelField Name="GirdleMax" Mapping="GirdleMax" />
<ext:ModelField Name="GirdlAvg" Mapping="GirdlAvg" />
<ext:ModelField Name="GirdlePercent" Mapping="GirdlePercent" />
<ext:ModelField Name="GirdleInclusion" Mapping="GirdleInclusion" />
<ext:ModelField Name="GirdleCondition" Mapping="GirdleCondition" />
<ext:ModelField Name="KeyToSymbol" Mapping="KeyToSymbol" />
<ext:ModelField Name="Comments1" Mapping="Comments1" />
<ext:ModelField Name="Comments2" Mapping="Comments2" />
<ext:ModelField Name="Comments3" Mapping="Comments3" />
<ext:ModelField Name="ReportComments" Mapping="ReportComments" />
<ext:ModelField Name="ClarityStatus" Mapping="ClarityStatus" />
<ext:ModelField Name="Painting" Mapping="Painting" />
<ext:ModelField Name="PaintingComments" Mapping="PaintingComments" />
<ext:ModelField Name="StarPercent" Mapping="StarPercent" />
<ext:ModelField Name="ColorTing" Mapping="ColorTing" />
<ext:ModelField Name="TingRemark" Mapping="TingRemark" />
<ext:ModelField Name="FolurTing" Mapping="FolurTing" />
<ext:ModelField Name="MajorGS" Mapping="MajorGS" />
<ext:ModelField Name="MinorGS" Mapping="MinorGS" />
<ext:ModelField Name="Feather" Mapping="Feather" />
<ext:ModelField Name="ExtraFacet" Mapping="ExtraFacet" />
<ext:ModelField Name="Cavity" Mapping="Cavity" />
<ext:ModelField Name="FancyColor" Mapping="FancyColor" />
<ext:ModelField Name="Milky" Mapping="Milky" />
<ext:ModelField Name="PolishFeatures" Mapping="PolishFeatures" />
<ext:ModelField Name="SymmetryFeatures" Mapping="SymmetryFeatures" />
<ext:ModelField Name="FlourColor" Mapping="FlourColor" />
<ext:ModelField Name="SyntheticIndicator" Mapping="SyntheticIndicator" />
<ext:ModelField Name="Para1" Mapping="Para1" />
<ext:ModelField Name="Para2" Mapping="Para2" />
<ext:ModelField Name="Para3" Mapping="Para3" />
<ext:ModelField Name="Para4" Mapping="Para4" />
<ext:ModelField Name="Para5" Mapping="Para5" />
<ext:ModelField Name="Para6" Mapping="Para6" />
<ext:ModelField Name="Para7" Mapping="Para7" />
<ext:ModelField Name="Para8" Mapping="Para8" />
<ext:ModelField Name="Para9" Mapping="Para9" />
<ext:ModelField Name="Para10" Mapping="Para10" />
<ext:ModelField Name="Remark" Mapping="Remark" />
<ext:ModelField Name="EntDate" Mapping="EntDate" Type="Date" DefaultValue="new Date()" />
<ext:ModelField Name="EntTerm" Mapping="EntTerm" />
<ext:ModelField Name="EntUser" Mapping="EntUser" />
<ext:ModelField Name="UpdDate" Mapping="UpdDate" Type="Date" DefaultValue="new Date()" />
<ext:ModelField Name="UpdTerm" Mapping="UpdTerm" />
<ext:ModelField Name="UpdUser" Mapping="UpdUser" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:Column ID="colSingleTxtStoneID" runat="server" DataIndex="DisplayStoneID" Text="StoneID" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleTxtStoneID" runat="server" />
</Editor>
</ext:Column>
<ext:SummaryColumn ID="colSinglePcs" runat="server" DataIndex="Pcs" Text="Pcs" Sortable="true" Hideable="true" Align="Right" SummaryType="Sum">
<Editor>
<ext:NumberField ID="txtSinglePcs" runat="server" MinValue="0" ReadOnly="true" />
</Editor>
<SummaryRenderer Handler="return (value)" />
</ext:SummaryColumn>
<ext:SummaryColumn ID="colSingleCts" runat="server" DataIndex="Cts" Text="Cts" Sortable="true" Hideable="true" Align="Right" SummaryType="Sum">
<Editor>
<ext:NumberField ID="txtSingleCts" runat="server" MinValue="0" ReadOnly="true" />
</Editor>
<Renderer Handler="return Ext.util.Format.number(value,'0.00')" />
<SummaryRenderer Handler="return Ext.util.Format.number(value,'0.00')" />
</ext:SummaryColumn>
<ext:Column ID="colSingleShapeID" runat="server" DataIndex="ShapeID" Text="Shape" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleShapeID,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleShapeID" runat="server" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleShapeID" QueryMode="Local" ForceSelection="true" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleColorID" runat="server" DataIndex="ColorID" Text="Color" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleColorID,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleColorID" runat="server" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleColorID" QueryMode="Local" ForceSelection="true" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleClarityID" runat="server" DataIndex="ClarityID" Text="Clarity" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleClarityID,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleClarityID" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleClarityID" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:SummaryColumn ID="colSingleRapRate" runat="server" DataIndex="RapRate" Text="Rap Rate" Sortable="true" Hideable="true" Align="Right" SummaryType="Sum">
<%--<Editor>
<ext:NumberField ID="txtSingleRapRate" runat="server" MinValue="0"/>
</Editor>--%>
<Renderer Handler="return Ext.util.Format.number(value,'0.00')" />
<SummaryRenderer Handler="return Ext.util.Format.number(value,'0.00')" />
</ext:SummaryColumn>
<ext:SummaryColumn ID="colSingleFinalDiscount" runat="server" DataIndex="FinalDiscount" Text="Final Disc%" Sortable="true" Hideable="true" Align="Right" SummaryType="Sum">
<Editor>
<ext:NumberField ID="txtSingleFinalDiscount" runat="server" />
</Editor>
<Renderer Handler="return Ext.util.Format.number(value,'0.00')" />
<SummaryRenderer Handler="return Ext.util.Format.number(value,'0.00')" />
</ext:SummaryColumn>
<ext:SummaryColumn ID="colSingleFinalRate" runat="server" DataIndex="FinalRate" Text="Final Rate" Sortable="true" Hideable="true" Align="Right" SummaryType="Sum">
<Editor>
<ext:NumberField ID="txtSingleFinalRate" runat="server" MinValue="0" />
</Editor>
<Renderer Handler="return Ext.util.Format.number(value,'0.00')" />
<SummaryRenderer Handler="return Ext.util.Format.number(value,'0.00')" />
</ext:SummaryColumn>
<ext:SummaryColumn ID="colSingleFinalAmount" runat="server" DataIndex="FinalAmount" Text="Final Amount" Sortable="true" Hideable="true" Align="Right" SummaryType="Sum">
<Editor>
<ext:NumberField ID="txtSingleFinalAmount" runat="server" MinValue="0" />
</Editor>
<Renderer Handler="return Ext.util.Format.number(value,'0.00')" />
<SummaryRenderer Handler="return Ext.util.Format.number(value,'0.00')" />
</ext:SummaryColumn>
<ext:Column ID="colSingleIsCertified" runat="server" Text="Is Certified" DataIndex="IsCertified" Align="Center">
<Editor>
<ext:Checkbox ID="chkSingleIsCertified" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleLabObjID" runat="server" DataIndex="LabObjID" Text="Lab" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreLabObjID,'ObjName')" />
<Editor>
<ext:ComboBox ID="cmbSingleLabObjID" runat="server" DisplayField="ObjName" ValueField="ObjID" StoreID="StoreLabObjID" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleLabReportNo" runat="server" DataIndex="LabReportNo" Text="Lab Report No" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleLabReportNo" runat="server" Width="100" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleLabControlNo" runat="server" DataIndex="LabControlNo" Text="Lab Control No" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleLabControlNo" runat="server" />
</Editor>
</ext:Column>
<ext:DateColumn ID="colSingleCertificateDate" runat="server" DataIndex="CertificateDate" Text="Certificate Date" Align="Center">
<Editor>
<ext:DateField ID="dtSingleCertificateDate" runat="server" />
</Editor>
</ext:DateColumn>
<ext:Column ID="colSingleSmartID" runat="server" DataIndex="SmartID" Text="SmartID" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleSmartID" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleSizeID" runat="server" DataIndex="SizeID" Text="Size" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleSizeID" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleCutID" runat="server" DataIndex="CutID" Text="Cut" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleCutID,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleCutID" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleCutID" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colPolishID" runat="server" DataIndex="PolishID" Text="Polish" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSinglePolishID,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSinglePolishID" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSinglePolishID" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleSymmetryID" runat="server" DataIndex="SymmetryID" Text="Symmetry" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleSymmetryID,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleSymmetryID" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleSymmetryID" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleFlourID" runat="server" DataIndex="FlourID" Text="Flour" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleFlourID,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleFlourID" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleFlourID" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleLusterID" runat="server" DataIndex="LusterID" Text="Luster" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleLusterID,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleLusterID" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleLusterID" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleProp" runat="server" DataIndex="Prop" Text="Prop" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleProp,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleProp" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleProp" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:NumberColumn ID="colSingleLength" runat="server" DataIndex="Length" Text="Length" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleLength" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleWidth" runat="server" DataIndex="Width" Text="Width" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleWidth" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleHeight" runat="server" DataIndex="Height" Text="Height" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleHeight" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:Column ID="comSingleMeasurment" runat="server" DataIndex="Measurment" Text="Measurment" Sortable="true" Hideable="true">
</ext:Column>
<ext:NumberColumn ID="colSingleTotalDepth" runat="server" DataIndex="TotalDepth" Text="Total Depth" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleTotalDepth" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:Column ID="colSingleCuletSize" runat="server" DataIndex="CuletSize" Text="Culet Size" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleCuletSize,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleCuletSize" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleCuletSize" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleInscription" runat="server" DataIndex="Inscription" Text="Inscription" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleInscription" runat="server" />
</Editor>
</ext:Column>
<ext:NumberColumn ID="colSingleDepthMM" runat="server" DataIndex="DepthMM" Text="Depth MM" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleDepthMM" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleDepthPercent" runat="server" DataIndex="DepthPercent" Text="Depth %" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleDepthPercent" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleTableMM" runat="server" DataIndex="TableMM" Text="Table MM" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleTableMM" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleTablePercent" runat="server" DataIndex="TablePercent" Text="Table %" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleTablePercent" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleTableWidthPercent" runat="server" DataIndex="TableWidthPercent" Text="Table Width %" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleTableWidthPercent" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleTableDiameter" runat="server" DataIndex="TableDiameter" Text="Table Diameter" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleTableDiameter" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleTableOffCenter" runat="server" DataIndex="TableOffCenter" Text="Table Off Center" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleTableOffCenter" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleTableOffCulet" runat="server" DataIndex="TableOffCulet" Text="Table Off Culet" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleTableOffCulet" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:Column ID="colSingleTableInclusion" runat="server" DataIndex="TableInclusion" Text="Table Inclusion" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleTableInclusion,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleTableInclusion" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleTableInclusion" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleOpenInclusion" runat="server" DataIndex="OpenInclusion" Text="Open Inclusion" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleOpenInclusion,'ValueName')" />
<Editor>
<ext:ComboBox ID="txtSingleOpenInclusion" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleOpenInclusion" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:NumberColumn ID="colSingleCrownAngle" runat="server" DataIndex="CrownAngle" Text="Crown Angle" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleCrownAngle" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleCrownHeight" runat="server" DataIndex="CrownHeight" Text="Crown Height" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleCrownHeight" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleCrownDepthMM" runat="server" DataIndex="CrownDepthMM" Text="Crown Depth" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleCrownDepthMM" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleCrownDepthPercent" runat="server" DataIndex="CrownDepthPercent" Text="Crown Depth %" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleCrownDepthPercent" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:Column ID="colSingleCrownInclusion" runat="server" DataIndex="CrownInclusion" Text="Crown Inclusion" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleCrownInclusion,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleCrownInclusion" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleCrownInclusion" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:NumberColumn ID="colSinglePavilionAngle" runat="server" DataIndex="PavilionAngle" Text="Pavilion Angle" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSinglePavilionAngle" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSinglePavilionHeight" runat="server" DataIndex="PavilionHeight" Text="Pavilion Height" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSinglePavilionHeight" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSinglePavilionDepthMM" runat="server" DataIndex="PavilionDepthMM" Text="Pavilion Depth" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSinglePavilionDepthMM" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSinglePavilionDepthPercent" runat="server" DataIndex="PavilionDepthPercent" Text="Pavilion Depth %" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSinglePavilionDepthPercent" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:Column ID="colSinglePavilionInclusion" runat="server" DataIndex="PavilionInclusion" Text="Pavilion Inclusion" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSinglePavilionInclusion,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSinglePavilionInclusion" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSinglePavilionInclusion" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePavilionVisible" runat="server" DataIndex="PavilionVisible" Text="Pavilion Visible" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSinglePavilionVisible,'ValueName')" />
<Editor>
<ext:ComboBox ID="txtSinglePavilionVisible" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSinglePavilionVisible" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:NumberColumn ID="colSingleStarLength" runat="server" DataIndex="StarLength" Text="Star Length" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleStarLength" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleLengthHalvesCrPercent" runat="server" DataIndex="LengthHalvesCrPercent" Text="Length Halves Crown %" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleLengthHalvesCrPercent" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleLengthHalvesPavPercent" runat="server" DataIndex="LengthHalvesPavPercent" Text="Length Halves Pavilion %" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleLengthHalvesPavPercent" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSinglelowerHalf" runat="server" DataIndex="lowerHalf" Text="Lower Half" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSinglelowerHalf" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleLowerHlafPercent" runat="server" DataIndex="LowerHlafPercent" Text="Lower Half %" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleLowerHlafPercent" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:Column ID="colSingleBrown" runat="server" DataIndex="Brown" Text="Brown" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleBrown,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleBrown" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleBrown" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleNatts" runat="server" DataIndex="Natts" Text="Natts" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleNatts,'ValueName')" />
<Editor>
<ext:ComboBox ID="txtSingleNatts" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleNatts" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleHeartArrow" runat="server" DataIndex="HeartArrow" Text="H&A" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleHeartArrow,'ValueName')" />
<Editor>
<ext:ComboBox ID="txtSingleHeartArrow" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleHeartArrow" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:NumberColumn ID="colSingleDiameter" runat="server" DataIndex="Diameter" Text="Diameter" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleDiameter" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleDiameterMin" runat="server" DataIndex="DiameterMin" Text="Diameter Min" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleDiameterMin" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleDiameterMax" runat="server" DataIndex="DiameterMax" Text="Diameter Max" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleDiameterMax" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleDiameteravg" runat="server" DataIndex="Diameteravg" Text="Diameter Avg" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleDiameteravg" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:Column ID="colSingleGirdle" runat="server" DataIndex="Girdle" Text="Girdle" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleGirdle,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleGirdle" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleGirdle" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:NumberColumn ID="colSingleGirdleMin" runat="server" DataIndex="GirdleMin" Text="Girdle Min" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleGirdleMin" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleGirdleMax" runat="server" DataIndex="GirdleMax" Text="Girdle Max" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleGirdleMax" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleGirdlAvg" runat="server" DataIndex="GirdlAvg" Text="Girdle Avg" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleGirdlAvg" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:NumberColumn ID="colSingleGirdlePercent" runat="server" DataIndex="GirdlePercent" Text="Girdle %" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleGirdlePercent" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:Column ID="colSingleGirdleInclusion" runat="server" DataIndex="GirdleInclusion" Text="Girdle Inclusion" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleGirdleInclusion,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleGirdleInclusion" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleGirdleInclusion" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleGirdleCondition" runat="server" DataIndex="GirdleCondition" Text="Girdle Condition" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleGirdleCondition,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleGirdleCondition" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleGirdleCondition" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleKeyToSymbol" runat="server" DataIndex="KeyToSymbol" Text="Key To Symbol" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleKeyToSymbol" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleComments1" runat="server" DataIndex="Comments1" Text="Comment1" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleComments1" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleComments2" runat="server" DataIndex="Comments2" Text="Comment2" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleComments2" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleComments3" runat="server" DataIndex="Comments3" Text="Comment3" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleComments3" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleReportComments" runat="server" DataIndex="ReportComments" Text="Report Comment" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleReportComments" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleClarityStatus" runat="server" DataIndex="ClarityStatus" Text="Girdle Inclusion" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleClarityStatus,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleClarityStatus" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleClarityStatus" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePainting" runat="server" DataIndex="Painting" Text="Painting" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSinglePainting,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSinglePainting" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSinglePainting" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePaintingComments" runat="server" DataIndex="PaintingComments" Text="Painting Comments" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSinglePaintingComments" runat="server" />
</Editor>
</ext:Column>
<ext:NumberColumn ID="colSingleStarPercent" runat="server" DataIndex="StarPercent" Text="Star %" Sortable="true" Hideable="true" Align="Right" >
<Editor>
<ext:NumberField ID="txtSingleStarPercent" runat="server" MinValue="0" DecimalPrecision="2" />
</Editor>
</ext:NumberColumn>
<ext:Column ID="colSingleColorTing" runat="server" DataIndex="ColorTing" Text="Color Ting" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleColorTing,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleColorTing" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleColorTing" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleTingRemark" runat="server" DataIndex="TingRemark" Text="Ting Remark" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleTingRemark" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleFolurTing" runat="server" DataIndex="FolurTing" Text="Flour Ting" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleFolurTing,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleFolurTing" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleFolurTing" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleMajorGS" runat="server" DataIndex="MajorGS" Text="MajorGS" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleMajorGS" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleMinorGS" runat="server" DataIndex="MinorGS" Text="MinorGS" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleMinorGS" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleFeather" runat="server" DataIndex="Feather" Text="Feather" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleFeather,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleFeather" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleFeather" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleExtraFacet" runat="server" DataIndex="ExtraFacet" Text="Extra Facet" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleExtraFacet,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleExtraFacet" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleExtraFacet" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleCavity" runat="server" DataIndex="Cavity" Text="Cavity" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleCavity,'ValueName')" />
<Editor>
<ext:ComboBox ID="txtSingleCavity" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleCavity" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleFancyColor" runat="server" DataIndex="FancyColor" Text="Fancy Color" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleFancyColor,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleFancyColor" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleFancyColor" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleMilky" runat="server" DataIndex="Milky" Text="Milky" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleMilky,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleMilky" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleMilky" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePolishFeatures" runat="server" DataIndex="PolishFeatures" Text="Polish Features" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSinglePolishFeatures,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSinglePolishFeatures" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSinglePolishFeatures" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleSymmetryFeatures" runat="server" DataIndex="SymmetryFeatures" Text="Symmetry Featuers" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleSymmetryFeatures,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleSymmetryFeatures" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleSymmetryFeatures" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleFlourColor" runat="server" DataIndex="FlourColor" Text="Flour Color" Align="Center">
<Renderer Handler="return CommanRenderer(value,App.StoreSingleFlourColor,'ValueName')" />
<Editor>
<ext:ComboBox ID="cmbSingleFlourColor" runat="server" ForceSelection="true" DisplayField="ValueName" ValueField="ParameterValueID" StoreID="StoreSingleFlourColor" QueryMode="Local" />
</Editor>
</ext:Column>
<ext:Column ID="colSingleSyntheticIndicator" runat="server" DataIndex="SyntheticIndicator" Text="Synthetic Indicator" Sortable="true" Hideable="true">
<Editor>
<ext:TextField ID="txtSingleSyntheticIndicator" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePara1" runat="server" DataIndex="Para1" Text="Para1" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSinglePara1" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePara2" runat="server" DataIndex="Para2" Text="Para2" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSinglePara2" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePara3" runat="server" DataIndex="Para3" Text="Para3" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSinglePara3" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePara4" runat="server" DataIndex="Para4" Text="Para4" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSinglePara4" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePara5" runat="server" DataIndex="Para5" Text="Para5" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSinglePara5" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePara6" runat="server" DataIndex="Para6" Text="Para6" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSinglePara6" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePara7" runat="server" DataIndex="Para7" Text="Para7" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSinglePara7" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePara8" runat="server" DataIndex="Para8" Text="Para8" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSinglePara8" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePara9" runat="server" DataIndex="Para9" Text="Para9" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSinglePara9" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="colSinglePara10" runat="server" DataIndex="Para10" Text="Para10" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSinglePara10" runat="server" />
</Editor>
</ext:Column>
<ext:Column ID="ColSingleRemark" runat="server" DataIndex="Remark" Text="Remark" Sortable="true" Hideable="true" Visible="false">
<Editor>
<ext:TextField ID="txtSingleRemark" runat="server" />
</Editor>
</ext:Column>
</Columns>
</ColumnModel>
<Plugins>
<ext:CellEditing ID="CellEditing2" runat="server">
<Listeners>
<%--<BeforeEdit Fn="beforeEditSingleDetail" />
<Edit Fn="editSingleDetail" />--%>
<%--<CancelEdit Fn="cancelEditSingleDetail" />--%>
</Listeners>
</ext:CellEditing>
</Plugins>
<Features>
<ext:Summary ID="Summary2" runat="server" />
</Features>
<BottomBar>
<%--<ext:PagingToolbar ID="SinglePaging" runat="server" IDMode="Static">
<Items>
<ext:ComboBox ID="cmbSinglePaging" runat="server" Width="80" IDMode="Static" />
</Items>
</ext:PagingToolbar>--%>
</BottomBar>
</ext:GridPanel>
</Items>
</ext:FormPanel>
<ext:FormPanel ID="total" runat="server">
<Items>
<ext:Panel ID="totalPanel" runat="server" Height="25">
<Items>
<ext:TextField ID="txtTotal" Text="Single Total :" runat="server" Width="1500" IDMode="Static" ReadOnly="true" />
<ext:TextField ID="txtSingleTotalCts" runat="server" IDMode="Static" Hidden="true" Text="0" />
<ext:TextField ID="txtSingleTotalFinalAmount" runat="server" IDMode="Static" Hidden="true" Text="0" />
<ext:TextField ID="txtSingleTotalRapAmount" runat="server" IDMode="Static" Hidden="true" Text="0" />
</Items>
</ext:Panel>
</Items>
</ext:FormPanel>
<ext:FormPanel ID="FormButtonPanel" runat="server" TitleCollapse="true" DefaultAnchor="100%" Anchor="100%" BodyBorder="1" BodyPadding="10" Frame="true" IDMode="Static" Layout="ColumnLayout">
<Items>
<ext:Panel ID="Panel1" runat="server" ColumnWidth="1" ButtonAlign="Right">
<Buttons>
<ext:Button ID="btnInsert" runat="server" Text="Insert" Icon="Add"
OnClientClick="if(App.FormStoneGrading.disabled)
{
btnState = 'I';
#{btnSearch}.disable(true);
#{btnInsert}.disable(true);
#{btnRefresh}.disable(true);
#{btnDelete}.enable(true);
#{btnEdit}.hide();
#{btnCancel}.show();
App.FormStoneGrading.reset();
App.FormStoneGrading.setDisabled(false);
App.StoreSingleDetail.removeAll();
#{dtTransDate}.focus();
App.txtTotal.setValue(null);
}
">
</ext:Button>
<ext:Button ID="btnEdit" runat="server" Text="Edit" Icon="ApplicationEdit"
OnClientClick="App.FormStoneGrading.setDisabled(false);
#{dtTransDate}.focus();
btnState = 'E';
#{btnEdit}.hide();
#{btnDelete}.enable(true);
#{btnInsert}.disable(true);
#{btnCancel}.show();
#{btnSearch}.disable(true);
#{btnRefresh}.disable(true);
btnSave_State() ">
</ext:Button>
<ext:Button ID="btnCancel" runat="server" Text="Cancel" Icon="Cancel"
OnClientClick="#{btnRefresh}.enable(true);
#{btnSearch}.enable(true);
#{btnRefresh}.disable(true);
#{btnInsert}.enable(true);
#{btnDelete}.disable(true);
#{btnInsert}.enable(true);
#{btnEdit}.show();
#{btnCancel}.hide();
App.FormStoneGrading.setDisabled(true);
if (btnState == 'I'){
App.StoreSingleDetail.rejectChanges();
App.txtTotal.setValue(null);
App.FormStoneGrading.reset();
#{btnEdit}.disable(true);
}
else if(btnState == 'E'){
App.StoreSingleDetail.rejectChanges();
}
else if(btnState == 'S'){
App.FormStoneGrading.reset();
#{btnEdit}.disable(true);
}
btnState = null;
btnSave_State()"
IDMode="Static">
</ext:Button>
<ext:Button ID="btnSave" runat="server" Text="Save" Icon="Disk" FormBind="true" Disabled="true"
OnClientClick=" btnState = null;#{btnInsert}.enable(true);">
</ext:Button>
<ext:Button ID="btnDelete" runat="server" Text="Delete" Icon="Delete" ClientIDMode="Static">
<Listeners>
<Click Handler="
Ext.Msg.show({
title: 'User Master',
msg: 'Sure to Delete Grading Detail Of Selected Stone?',
buttons: { yes: 'Yes', no: 'No' },
icon: Ext.Msg.QUESTION,
fn: function (btn) {
if (btn == 'yes') {
#{GridSingleDetail}.deleteSelected();
}
}
});
" />
</Listeners>
</ext:Button>
<ext:Button ID="btnSearch" runat="server" Text="Search" Icon="Find" ClientIDMode="Static">
<Listeners>
<Click Handler="btnState = 'S';
#{btnEdit}.hide();
#{btnCancel}.show();
#{btnSearch}.disable(true);
#{btnInsert}.enable(true);
#{btnRefresh}.enable(true);
#{btnDelete}.disable(true);
#{btnInsert}.disable(true);
App.FormStoneGrading.reset();
App.FormStoneGrading.setDisabled(false);
App.StoreSingleDetail.removeAll();
App.StoreSingleDetail.commitChanges();
#{dtTransDate}.focus();
btnSave_State();" />
</Listeners>
</ext:Button>
<ext:Button ID="btnRefresh" runat="server" Text="Refresh" Icon="ArrowRefresh" OnClientClick="#{btnInsert}.enable(true);" Disabled="true">
</ext:Button>
</Buttons>
</ext:Panel>
</Items>
</ext:FormPanel>
<ext:KeyMap ID="KeyMap1" runat="server" Target="={Ext.isGecko ? Ext.getDoc() : Ext.getBody()}">
<Binding>
<ext:KeyBinding Handler="btnInsert.click();" Ctrl="true" Alt="true">
<Keys>
<ext:Key Code="I" />
</Keys>
</ext:KeyBinding>
</Binding>
<Binding>
<ext:KeyBinding Handler="btnEdit.click();" Ctrl="true" Alt="true">
<Keys>
<ext:Key Code="E">
</ext:Key>
</Keys>
</ext:KeyBinding>
</Binding>
<Binding>
<ext:KeyBinding Handler="btnCancel.click();" Ctrl="true" Alt="true">
<Keys>
<ext:Key Code="C">
</ext:Key>
</Keys>
</ext:KeyBinding>
</Binding>
<Binding>
<ext:KeyBinding Handler="btnSave.focus(); btnSave.click();" Ctrl="true" Alt="true">
<Keys>
<ext:Key Code="S">
</ext:Key>
</Keys>
</ext:KeyBinding>
</Binding>
<Binding>
<ext:KeyBinding Handler="btnDelete.click();" Ctrl="true" Alt="true">
<Keys>
<ext:Key Code="D">
</ext:Key>
</Keys>
</ext:KeyBinding>
</Binding>
<Binding>
<ext:KeyBinding Handler="btnSearch.click();" Ctrl="true" Alt="true">
<Keys>
<ext:Key Code="F">
</ext:Key>
</Keys>
</ext:KeyBinding>
</Binding>
<Binding>
<ext:KeyBinding Handler="btnRefresh.click();" Ctrl="true" Alt="true">
<Keys>
<ext:Key Code="R">
</ext:Key>
</Keys>
</ext:KeyBinding>
</Binding>
</ext:KeyMap>
</form>
</body>
</html>
Thanks
Shailesh