May 20, 2012, 11:50 AM
Can't Load page in Google chorme and Firefox
I have problem with browser. When i run my project with IE9 , everything is very good but with firefox and google, window can't load my page
and My code:
and My code:
<%@ 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 runat="server">
<title>Recipe</title>
<script src="/Scripts/global.js" type="text/javascript"></script>
<script src="/Scripts/Grid.js" type="text/javascript"></script>
<script src="/Scripts/Message.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
var RECIPE_ID = 0, Current_RECIPE = null, LoadStrMaterial = '';
function SearchDataRecipe(index) {
GetEvent().SearchRecipe(index, {
success: function () {
}
});
}
function Recipe_KeyMap(Keycode, Key) {
if (Key.ctrlKey) {
switch (Keycode) {
case Key.N:
{
ClientTimeOut_ToServer("btnNew_Click();", 100);
Key.stopEvent();
}
break;
case Key.S:
{
ClientTimeOut_ToServer("btnSave_Click();", 100);
Key.stopEvent();
}
break;
case Key.G:
{
ClientTimeOut_ToServer("Complete_Search(grdRecipe);", 100);
Key.stopEvent();
}
break;
}
}
if (Key.shiftKey) {
switch (Keycode) {
case Key.DELETE:
{
ClientTimeOut_ToServer("btnDelete_Click();", 100);
Key.stopEvent();
}
break;
}
}
switch (Keycode) {
case Key.ENTER:
{
if (grdRecipe.hasSelection()) {
var index = stoRecipe.indexOf(grdRecipe.selModel.selections.items[0]);
GridStartEdit(grdRecipe, "clNo", index);
}
}
break;
case Key.ESC:
{
if (grdRecipe.hasSelection()) {
if (grdRecipe.selModel.selections.items[0].id < 0) {
ClientTimeOut_ToServer("btnDelete_Click();", 100);
}
else {
grdRecipe.selModel.selections.items[0].reject();
}
Key.stopEvent();
}
}
break;
case Key.F2:
{
ClientTimeOut_ToServer("btnSave_Click();", 100);
Key.stopEvent();
}
break;
case Key.F3:
{
ClientTimeOut_ToServer("txtKeysearch.focus();", 200);
Key.stopEvent();
}
break;
}
}
function btnDelete_Click(Type) {
if (grdRecipe.hasSelection()) {
if (Type == null) {
if (RECIPE_ID < 0) {
var index = stoRecipe.indexOf(grdRecipe.getStore().getById(RECIPE_ID));
RECIPE_ID = 0;
FocusAfterDelete(grdRecipe, index, stoRecipe, grdRecipe);
}
else {
vnMessageBoxConfirm("Warning", "Are you sure you want to delete this recipe ?", Ext.MessageBox.YESNO, "btnDelete_Click(0);", 'Complete_Search(grdRecipe);', Ext.MessageBox.QUESTION, 1);
}
}
else {
GetEvent().DeleteRecipe(RECIPE_ID, { success: function (result) {
result = eval('(' + result + ')');
switch (result.Status) {
case "Error":
{
vnMessageBox("Error", "System failure", Ext.MessageBox.OK, "Complete_Search(grdRecipe);", Ext.MessageBox.ERROR, 1);
}
break;
case "SystemError":
{
vnMessageBoxError(result.Title, result.Message, result.ExceptionMesseger, Ext.MessageBox.OK, "Complete_Search(grdRecipe);", 300);
}
break;
case "Success":
{
var index = stoRecipe.indexOf(grdRecipe.getStore().getById(RECIPE_ID));
RECIPE_ID = 0;
FocusAfterDelete(grdRecipe, index, stoRecipe, grdRecipe);
}
break;
}
}
});
}
}
}
function grdRecipe_BeforeRowSelect(SelectionModel, rowIndex, keepExisting, record) {
grdRecipe.stopEditing();
Current_RECIPE = record;
if (RECIPE_ID != 0 && RECIPE_ID != record.id) {
if (!btnSave_Click("Complete_Search(grdRecipe," + rowIndex + ");")) {
return false;
}
}
ClientTimeOut_ToServer("GetEvent().getDetail(" + record.id + ");", 200);
RECIPE_ID = record.id;
}
function btnSave_Click(fn) {
var strItem = "";
if (RECIPE_ID != 0) {
grdRecipe.stopEditing();
var RecordRecipe = stoRecipe.getById(RECIPE_ID);
if (RecordRecipe != null) {
for (var i = 0; i < stoRecipeDetail.data.length; i++) {
RecordDetail = stoRecipeDetail.data.items[i];
if (RecordDetail != null) {
if (RecordDetail.data["IT_AUTOID"] != null && RecordDetail.data["IT_AUTOID"] != "" && RecordDetail.data["RCPD_QUANTITY"] != null && RecordDetail.data["RCPD_QUANTITY"] != "" && RecordDetail.data["RCPD_QUANTITY"].toString() != "0") {
strItem = strItem + RecordDetail.data["IT_AUTOID"] + ":" + RecordDetail.data["RCPD_QUANTITY"] + ";";
}
}
}
if (RecordRecipe.modified != null || LoadStrMaterial != strItem) {
if (ValidateRecord(RecordRecipe, 'grdRecipe')) {
var RecordDetail = null;
GetEvent().SaveRecipe('[' + Ext.encode(RecordRecipe.data) + ']', strItem, {
success: function (result) {
result = eval('(' + result + ')');
switch (result.Status) {
case "Error":
{
switch (result.ResulObj.toString()) {
case "-1":
{
vnMessageBox("Error", "This no has been used", Ext.MessageBox.OK, "Complete_Search(grdRecipe);", Ext.MessageBox.ERROR, 1);
}
break;
default:
{
vnMessageBox("Error", "System failure", Ext.MessageBox.OK, "Complete_Search(grdRecipe);", Ext.MessageBox.ERROR, 1);
}
break;
}
}
break;
case "SystemError":
{
vnMessageBoxError(result.Title, result.Message, result.ExceptionMesseger, Ext.MessageBox.OK, "Complete_Search(grdRecipe);", 300);
}
break;
case "Success":
{
if (RECIPE_ID != result.ResulObj)
stoRecipe.updateRecordId(RECIPE_ID, result.ResulObj);
RecordRecipe = stoRecipe.getById(result.ResulObj);
RecordRecipe.commit();
RECIPE_ID = Current_RECIPE.id;
LoadStrMaterial = strItem;
if (fn != null && typeof (fn) != undefined && fn != '') {
eval(fn);
}
else {
Complete_Search(grdRecipe, null, RECIPE_ID);
}
}
break;
}
}
});
}
return false;
}
}
}
return true;
}
// Kiểm tra lưới
function ValidateRecord(row, type) {
var check = true;
var error = '';
var Record;
indexforcus = -1;
switch (type) {
case "grdRecipe":
{
if (row.data["RCP_NO"] == null || row.data["RCP_NO"] == "") {
error += "Recipe No is not blank." + "</BR>";
indexforcus = grdRecipe.colModel.getIndexById("clNo");
}
if (row.data["RCP_NAME"] == null || row.data["RCP_NAME"] == "") {
error += "Name is not blank." + "</BR>";
indexforcus = grdRecipe.colModel.getIndexById("clName");
}
if (row.data["IT_AUTOID"] == null || row.data["IT_AUTOID"] == "") {
error += "Item is not blank." + "</BR>";
indexforcus = grdRecipe.colModel.getIndexById("clName");
}
if (error != '') {
check = false;
var index = stoRecipe.indexOf(grdRecipe.getStore().getById(RECIPE_ID));
vnMessageBox("Error", error, Ext.MessageBox.OK, "forcusgrid(" + indexforcus + "," + index + ",'grdRecipe')", Ext.MessageBox.ERROR, 1);
}
} break;
}
return check;
}
function stoRecipe_Load() {
RECIPE_ID = 0, Current_RECIPE = null;
if (stoRecipe.data.length > 0) {
Complete_Search(grdRecipe);
}
else {
grdRecipeDetail.clear();
ClientTimeOut_ToServer("txtKeysearch.focus();", 100);
}
}
function grdRecipe_KeyMap(Keycode, Key) {
switch (Keycode) {
case Key.BACKSPACE:
{
Key.stopEvent();
}
break;
case Key.N:
{
ClientTimeOut_ToServer("btnAddSupItem_Click();", 200);
}
break;
case Key.DELETE:
{
ClientTimeOut_ToServer("btnDeleteSupItem_Click();", 200);
}
break;
case Key.ESC:
{
if (grdRecipe.hasSelection()) {
grdRecipe.selModel.selections.items[0].reject();
}
}
break;
case Key.ENTER:
{
if (grdRecipe.hasSelection()) {
var index = stoRecipeItem.indexOf(grdRecipe.selModel.selections.items[0]);
GridStartEdit(grdRecipe, "clName", index);
}
}
break;
}
}
function btnNew_Click() {
if (btnNew.disabled)
return;
if (btnSave_Click('btnNew_Click();')) {
var record = grdRecipe.insertRecord(0, {
"RCP_ISACTIVE": true,
"RCP_QUANTITY": 1
});
if (RECIPE_ID == 0)
RECIPE_ID = record.id;
grdRecipeDetail.clear();
stoRecipeDetail_Load();
Complete_Search(grdRecipe, 0, null);
GridStartEdit(grdRecipe, "clNo", 0);
}
}
/*****************************Search Supplier for item *****************************************/
function ddfItem_Key(el, Key) {
switch (Key.keyCode) {
case Key.ENTER:
{
SelectItemforRecipe();
Key.stopEvent();
}
break;
case Key.TAB:
{
}
break;
case Key.DOWN:
{
SearchDataforItem(1);
ClientTimeOut_ToServer("SelectGridRecipe();", 100);
}
break;
case Key.UP:
{
SearchDataforItem(1);
ClientTimeOut_ToServer("SelectGridRecipe();", 100);
}
break;
default:
{
ClientTimeOut_ToServer("SearchDataforItem(1);", 300);
}
break;
}
}
function grdSearchItem_Event(Keycode, Key) {
grdSearchItem_KeyPress(Key);
}
function grdSearchItem_KeyPress(Key) {
switch (Key.keyCode) {
case Key.BACKSPACE:
{
ddfItem.focus();
Key.stopEvent();
}
break;
case Key.ENTER:
{
SelectItemforRecipe("grid");
}
break;
case Key.TAB:
{
SelectItemforRecipe("grid");
}
break;
case Key.DOWN:
{
}
break;
case Key.UP:
{
}
break;
default:
{
ddfItem.focus();
}
break;
}
}
function SelectGridRecipe() {
if (stoSearchItem.data.length > 0) {
ddfItem.expand();
Complete_Search(grdSearchItem);
}
}
function SelectItemforRecipe(Type) {
if (grdRecipe.hasSelection()) {
var recordSelect = grdRecipe.selModel.selections.items[0];
if (ddfItem.getText() == "" && Type == null) {
recordSelect.set("IT_AUTOID", 0);
recordSelect.set("IT_NO", "");
recordSelect.set("IT_NAME", "");
recordSelect.set("U_NAME", "");
recordSelect.set("IG_NAME", "");
ddfItem.setValue("");
return;
} else if (stoSearchItem.data.length > 0) {
if (grdSearchItem.hasSelection()) {
var recordChoice = grdSearchItem.selModel.selections.items[0];
-
recordSelect.set("IT_AUTOID", recordChoice.data["IT_AUTOID"]);
recordSelect.set("IT_NO", recordChoice.data["IT_NO"]);
recordSelect.set("IT_NAME", recordChoice.data["IT_NAME"]);
recordSelect.set("U_NAME", recordChoice.data["U_NAME"]);
recordSelect.set("IG_NAME", recordChoice.data["IG_NAME"]);
ddfItem.setValue(recordChoice.data["IT_NAME"]);
}
else {
recordSelect.set("IT_AUTOID", stoSearchItem.data.items[0].data["IT_AUTOID"]);
recordSelect.set("IT_NO", stoSearchItem.data.items[0].data["IT_NO"]);
recordSelect.set("IT_NAME", stoSearchItem.data.items[0].data["IT_NAME"]);
recordSelect.set("U_NAME", stoSearchItem.data.items[0].data["U_NAME"]);
recordSelect.set("IG_NAME", stoSearchItem.data.items[0].data["IG_NAME"]);
ddfItem.setValue(stoSearchItem.data.items[0].data["IT_NAME"]);
}
}
else {
recordSelect.set("IT_AUTOID", 0);
recordSelect.set("IT_NO", "");
recordSelect.set("IT_NAME", "");
recordSelect.set("U_NAME", "");
recordSelect.set("IG_NAME", "");
ddfItem.setValue("");
}
if (Type != null) {
ddfItem.collapse();
ddfItem.focus();
}
if (ddfItem.isExpanded()) {
ddfItem.collapse();
ddfItem.focus();
GridStartEdit(grdRecipe, "clName", stoRecipe.indexOf(recordSelect));
}
}
}
function SearchDataforItem(index) {
var strSearch = ddfItem.getText();
GetEvent().SearchItem(index, strSearch, { success: function () {
if (stoSearchItem.data.length > 0) {
ddfItem.expand();
}
}
});
}
-
/************************************************************************************************************************/
/*****************************Search Supplier for item Material *****************************************/
function ddfItemMaterial_Key(el, Key) {
switch (Key.keyCode) {
case Key.ENTER:
{
ClientTimeOut_ToServer("SelectItemforMaterial();", 100);
Key.stopEvent();
}
break;
case Key.TAB:
{
}
break;
case Key.DOWN:
{
SearchDataforItemMaterial(1);
ClientTimeOut_ToServer("SelectGridMaterial();", 100);
}
break;
case Key.UP:
{
SearchDataforItemMaterial(1);
ClientTimeOut_ToServer("SelectGridMaterial();", 100);
}
break;
default:
{
ClientTimeOut_ToServer("SearchDataforItemMaterial(1);", 300);
}
break;
}
}
function grdItemMaterial_Event(Keycode, Key) {
grdItemMaterial_KeyPress(Key);
}
function grdItemMaterial_KeyPress(Key) {
switch (Key.keyCode) {
case Key.BACKSPACE:
{
ddfItemMaterial.focus();
Key.stopEvent();
}
break;
case Key.ENTER:
{
SelectItemforMaterial("grid");
}
break;
case Key.TAB:
{
SelectItemforMaterial("grid");
}
break;
case Key.DOWN:
{
}
break;
case Key.UP:
{
}
break;
default:
{
ddfItemMaterial.focus();
}
break;
}
}
function SelectGridMaterial() {
if (stoItemMaterial.data.length > 0) {
ddfItemMaterial.expand();
Complete_Search(grdItemMaterial);
}
}
function SelectItemforMaterial(Type) {
if (grdRecipeDetail.hasSelection()) {
var recordSelect = grdRecipeDetail.selModel.selections.items[0];
if (ddfItemMaterial.getText() == "" && Type == null) {
recordSelect.set("IT_AUTOID", 0);
recordSelect.set("IT_NO", "");
recordSelect.set("IT_NAME", "");
recordSelect.set("U_NAME", "");
recordSelect.set("IG_NAME", "");
ddfItemMaterial.setValue("");
return;
} else if (stoItemMaterial.data.length > 0) {
if (grdItemMaterial.hasSelection()) {
var recordChoice = grdItemMaterial.selModel.selections.items[0];
for (var i = 0; i < stoRecipeDetail.data.length; i++) {
if (stoRecipeDetail.data.items[i].data["IT_AUTOID"] == recordChoice.data["IT_AUTOID"]) {
return;
}
}
recordSelect.set("IT_AUTOID", recordChoice.data["IT_AUTOID"]);
recordSelect.set("IT_NO", recordChoice.data["IT_NO"]);
recordSelect.set("IT_NAME", recordChoice.data["IT_NAME"]);
recordSelect.set("U_NAME", recordChoice.data["U_NAME"]);
recordSelect.set("IG_NAME", recordChoice.data["IG_NAME"]);
ddfItemMaterial.setValue(recordChoice.data["IT_NAME"]);
}
else {
for (var i = 0; i < stoRecipeDetail.data.length; i++) {
if (stoRecipeDetail.data.items[i].data["IT_AUTOID"] == stoSearchItem.data.items[0].data["IT_AUTOID"]) {
return;
}
}
recordSelect.set("IT_AUTOID", stoItemMaterial.data.items[0].data["IT_AUTOID"]);
recordSelect.set("IT_NO", stoItemMaterial.data.items[0].data["IT_NO"]);
recordSelect.set("IT_NAME", stoItemMaterial.data.items[0].data["IT_NAME"]);
recordSelect.set("U_NAME", stoItemMaterial.data.items[0].data["U_NAME"]);
recordSelect.set("IG_NAME", stoItemMaterial.data.items[0].data["IG_NAME"]);
ddfItemMaterial.setValue(stoItemMaterial.data.items[0].data["IT_NAME"]);
}
}
else {
recordSelect.set("IT_AUTOID", 0);
recordSelect.set("IT_NO", "");
recordSelect.set("IT_NAME", "");
recordSelect.set("U_NAME", "");
recordSelect.set("IG_NAME", "");
ddfItemMaterial.setValue("");
}
if (Type != null) {
ddfItemMaterial.collapse();
ddfItemMaterial.focus();
}
if (ddfItemMaterial.isExpanded()) {
ddfItemMaterial.collapse();
ddfItemMaterial.focus();
GridStartEdit(grdRecipeDetail, "clName", stoRecipeDetail.indexOf(recordSelect));
}
}
}
function SearchDataforItemMaterial(index) {
var strSearch = ddfItemMaterial.getText();
GetEvent().SearchItemMaterial(index, strSearch, { success: function () {
if (stoItemMaterial.data.length > 0) {
ddfItemMaterial.expand();
}
}
});
}
/************************************************************************************************************************/
/****************************************************Detail**************************************************************/
function btnNewDetail() {
if (grdRecipe.hasSeletion()) {
for (var i = 0; i < stoRecipeDetail.data.length; i++) {
if (stoRecipeDetail.data.items[i].data["IT_AUTOID"] == null || stoRecipeDetail.data.items[i].data["IT_AUTOID"] == "") {
Complete_Search(grdRecipeDetail, i);
GridStartEdit(grdRecipeDetail, "clName", i);
return;
}
}
grdRecipeDetail.addRecord();
Complete_Search(grdRecipeDetail, stoRecipeDetail.data.length - 1);
GridStartEdit(grdRecipeDetail, "clName", stoRecipeDetail.data.length - 1);
}
}
function btnDeleteDetail() {
if (grdRecipeDetail.hasSelection()) {
var index = stoRecipeDetail.indexOf(grdRecipeDetail.selModel.selections.items[0]);
FocusAfterDelete(grdRecipeDetail, index, stoRecipeDetail, grdRecipeDetail);
}
}
function Material_KeyMap(Keycode, Key) {
if (Key.ctrlKey) {
switch (Keycode) {
case Key.N:
{
ClientTimeOut_ToServer("btnNewDetail();", 100);
Key.stopEvent();
}
break;
}
}
if (Key.shiftKey) {
switch (Keycode) {
case Key.DELETE:
{
ClientTimeOut_ToServer("btnDeleteDetail();", 100);
Key.stopEvent();
}
break;
}
}
switch (Keycode) {
case Key.ENTER:
{
if (grdRecipeDetail.hasSelection()) {
var index = stoRecipeDetail.indexOf(grdRecipeDetail.selModel.selections.items[0]);
GridStartEdit(grdRecipeDetail, "clName", index);
}
}
break;
case Key.ESC:
{
if (grdRecipeDetail.hasSelection()) {
grdRecipeDetail.selModel.selections.items[0].reject();
Key.stopEvent();
}
}
break;
case Key.TAB:
{
btnSave_Click("Complete_Search(grdRecipe);");
}
break;
}
}
function grdRecipeDetail_BeforeRowSelect(SelectionModel, rowIndex, keepExisting, record) {
if (stoRecipeDetail.data.length > 0) {
for (var i = 0; i < stoRecipeDetail.data.length; i++) {
if (stoRecipeDetail.data.items[i].data["IT_AUTOID"] == null || stoRecipeDetail.data.items[i].data["IT_AUTOID"] == "")
return;
}
}
grdRecipeDetail.addRecord();
}
function stoRecipeDetail_Load() {
LoadStrMaterial = "";
if (stoRecipeDetail.data.length > 0) {
for (var i = 0; i < stoRecipeDetail.data.length; i++) {
RecordDetail = stoRecipeDetail.data.items[i];
if (RecordDetail != null) {
if (RecordDetail.data["IT_AUTOID"] != null && RecordDetail.data["IT_AUTOID"] != "" && RecordDetail.data["RCPD_QUANTITY"] != null && RecordDetail.data["RCPD_QUANTITY"] != "" && RecordDetail.data["RCPD_QUANTITY"].toString() != "0") {
LoadStrMaterial = LoadStrMaterial + RecordDetail.data["IT_AUTOID"] + ":" + RecordDetail.data["RCPD_QUANTITY"] + ";";
}
}
}
for (var i = 0; i < stoRecipeDetail.data.length; i++) {
if (stoRecipeDetail.data.items[i].data["IT_AUTOID"] == null || stoRecipeDetail.data.items[i].data["IT_AUTOID"] == "")
return;
}
}
grdRecipeDetail.addRecord();
}
function grdRecipeDetail_AfterEdit(Row) {
for (var i = 0; i < stoRecipeDetail.data.length; i++) {
if (stoRecipeDetail.data.items[i].data["IT_AUTOID"] == null || stoRecipeDetail.data.items[i].data["IT_AUTOID"] == "")
return;
}
grdRecipeDetail.addRecord();
}
/************************************************************************************************************************/
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server">
<Listeners>
<DocumentReady Handler="SearchDataRecipe(1);" Delay="10" />
</Listeners>
</ext:ResourceManager>
<ext:Viewport runat="server" Layout="row">
<Items>
<ext:Toolbar ID="Toolbar1" runat="server" Height="25">
<Items>
<ext:Button runat="server" ID="btnNew" Icon="PageAdd" Text="New" ToolTip="CTRL+N">
<Listeners>
<Click Handler="btnNew_Click();" />
</Listeners>
</ext:Button>
<ext:Button runat="server" ID="btnSave" Icon="PageSave" Text="Save" ToolTip="CTRL+S OR F2">
<Listeners>
<Click Handler="btnSave_Click();" />
</Listeners>
</ext:Button>
<ext:Button runat="server" ID="btnDelete" Icon="PageDelete" Text="Delete" ToolTip="SHIFT+DELETE">
<Listeners>
<Click Handler="btnDelete_Click();" />
</Listeners>
</ext:Button>
<ext:ToolbarSeparator />
<ext:Button runat="server" ID="btnSearch" Icon="ArrowRefresh" Text="Search">
<Listeners>
<Click Handler="SearchDataRecipe(1);" />
</Listeners>
</ext:Button>
<ext:ToolbarSeparator />
<ext:TextField runat="server" FieldLabel="Key search" ID="txtKeysearch" Width="120"
LabelWidth="60" EnableKeyEvents="true">
<Listeners>
<%-- <KeyDown Fn="Control_KeyDown" />--%>
</Listeners>
</ext:TextField>
</Items>
</ext:Toolbar>
<ext:GridPanel runat="server" ID="grdRecipe" RowHeight="1" DeferRowRender="true">
<KeyMap>
<ext:KeyBinding StopEvent="true">
<Listeners>
<Event Handler="Complete_Search(grdRecipeDetail);" />
</Listeners>
<Keys>
<ext:Key Code="TAB" />
</Keys>
</ext:KeyBinding>
</KeyMap>
<SelectionModel>
<ext:RowSelectionModel runat="server" SingleSelect="true" MoveEditorOnEnter="false">
<Listeners>
<BeforeRowSelect Fn="grdRecipe_BeforeRowSelect" />
</Listeners>
</ext:RowSelectionModel>
</SelectionModel>
<Store>
<ext:Store ID="stoRecipe" runat="server">
<Reader>
<ext:JsonReader IDProperty="RCP_AUTOID">
<Fields>
<ext:RecordField Name="RCP_AUTOID" />
<ext:RecordField Name="RCP_NO" />
<ext:RecordField Name="RCP_NAME" />
<ext:RecordField Name="IT_AUTOID" />
<ext:RecordField Name="IT_NO" />
<ext:RecordField Name="IT_NAME" />
<ext:RecordField Name="U_NAME" />
<ext:RecordField Name="IG_NAME" />
<ext:RecordField Name="RCP_QUANTITY" />
<ext:RecordField Name="RCP_DESCRIPTION" />
<ext:RecordField Name="RCP_MODIFYNAME" />
<ext:RecordField Name="RCP_MODIFYDATE" Type="Date" />
<ext:RecordField Name="RCP_ISACTIVE" Type="Boolean" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<Load Handler="stoRecipe_Load();" Delay="10" />
</Listeners>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:RowNumbererColumn ColumnID="clNumber" Header="" Width="25" />
<ext:Column ColumnID="clNo" DataIndex="RCP_NO" Header="No" Width="120">
<Editor>
<ext:TextField runat="server" />
</Editor>
</ext:Column>
<ext:Column ColumnID="clName" DataIndex="RCP_NAME" Header="Name" Width="200">
<Editor>
<ext:TextField runat="server" />
</Editor>
</ext:Column>
<ext:Column ColumnID="clItemno" DataIndex="IT_NO" Header="Item no" Width="120">
</ext:Column>
<ext:Column ColumnID="clItemName" DataIndex="IT_NAME" Header="Item name" Width="200">
<Editor>
<ext:DropDownField runat="server" ID="ddfItem" Editable="true" EnableKeyEvents="true">
<Listeners>
<KeyDown Fn="ddfItem_Key" />
</Listeners>
<Component>
<ext:GridPanel runat="server" ID="grdSearchItem" AutoExpandColumn="clName" Height="200"
Width="500">
<Store>
<ext:Store ID="stoSearchItem" runat="server">
<Reader>
<ext:JsonReader IDProperty="IT_AUTOID">
<Fields>
<ext:RecordField Name="IT_AUTOID" />
<ext:RecordField Name="IT_NO" />
<ext:RecordField Name="IT_NAME" />
<ext:RecordField Name="U_NAME" />
<ext:RecordField Name="IG_NO" />
<ext:RecordField Name="IG_NAME" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:Column ColumnID="clNo" Header="No" Width="100" DataIndex="IT_NO" />
<ext:Column ColumnID="clName" Header="Name" DataIndex="IT_NAME" />
<ext:Column ColumnID="clUnit" Header="Unit" DataIndex="U_NAME" Width="70" />
<ext:Column ColumnID="clGroupName" Header="Group name" DataIndex="IG_NAME" Width="150" />
</Columns>
</ColumnModel>
<BottomBar>
<ext:vnyiPaging runat="server" ID="pgSearchItem" PageChageScript="SearchDataforItem">
</ext:vnyiPaging>
</BottomBar>
<Listeners>
<KeyPress Fn="grdSearchItem_KeyPress" />
</Listeners>
<KeyMap>
<ext:KeyBinding StopEvent="true">
<Keys>
<ext:Key Code="ENTER" />
<ext:Key Code="BACKSPACE" />
</Keys>
<Listeners>
<Event Fn="grdSearchItem_Event" />
</Listeners>
</ext:KeyBinding>
</KeyMap>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel1" runat="server" MoveEditorOnEnter="false"
SingleSelect="true" />
</SelectionModel>
</ext:GridPanel>
</Component>
<Listeners>
<Expand Handler="SearchDataforItem(1);" />
</Listeners>
</ext:DropDownField>
</Editor>
</ext:Column>
<ext:Column ColumnID="clGroupName" DataIndex="IG_NAME" Header="Group name" Width="120">
</ext:Column>
<ext:Column ColumnID="clQuantity" DataIndex="RCP_QUANTITY" Header="Quantity" Width="120">
<Renderer Fn="setView" />
</ext:Column>
<ext:Column ColumnID="clUnit" DataIndex="U_NAME" Header="Unit" Width="70">
</ext:Column>
<ext:Column ColumnID="clDescription" DataIndex="RCP_DESCRIPTION" Header="Description"
Width="300">
<Editor>
<ext:TextField runat="server" />
</Editor>
</ext:Column>
<ext:Column ColumnID="clModifyBy" DataIndex="RCP_MODIFYNAME" Header="Modify by" Width="120">
</ext:Column>
<ext:DateColumn ColumnID="clModifyDate" DataIndex="RCP_MODIFYDATE" Header="Modify date"
Width="130" Format="MM/dd/yyyy HH:mm:ss">
</ext:DateColumn>
<ext:CheckColumn ColumnID="clIsActive" DataIndex="RCP_ISACTIVE" Header="Active" Editable="true"
Width="50" />
</Columns>
</ColumnModel>
<BottomBar>
<ext:vnyiPaging runat="server" ID="pgRecipe" PageChageScript="SearchDataRecipe">
</ext:vnyiPaging>
</BottomBar>
</ext:GridPanel>
<ext:GridPanel runat="server" ID="grdRecipeDetail" AutoExpandColumn="clName" Height="300"
DeferRowRender="true">
<Listeners>
<AfterEdit Fn="grdRecipeDetail_AfterEdit" />
</Listeners>
<Store>
<ext:Store ID="stoRecipeDetail" runat="server">
<Reader>
<ext:JsonReader IDProperty="RCPD_AUTOID">
<Fields>
<ext:RecordField Name="RCPD_AUTOID" />
<ext:RecordField Name="IT_AUTOID" />
<ext:RecordField Name="IT_NO" />
<ext:RecordField Name="IT_NAME" />
<ext:RecordField Name="RCPD_QUANTITY" />
<ext:RecordField Name="U_NAME" />
<ext:RecordField Name="IG_NAME" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<Load Handler="stoRecipeDetail_Load();" Delay="10" />
</Listeners>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:RowNumbererColumn ColumnID="clNumber" Header="" Width="25" />
<ext:Column ColumnID="clNo" DataIndex="IT_NO" Header="No" Width="120">
</ext:Column>
<ext:Column ColumnID="clName" DataIndex="IT_NAME" Header="Name">
<Editor>
<ext:DropDownField runat="server" ID="ddfItemMaterial" Editable="true" EnableKeyEvents="true">
<Listeners>
<KeyDown Fn="ddfItemMaterial_Key" Delay="100" />
</Listeners>
<Component>
<ext:GridPanel runat="server" ID="grdItemMaterial" AutoExpandColumn="clName" Height="200"
Width="500">
<Store>
<ext:Store ID="stoItemMaterial" runat="server">
<Reader>
<ext:JsonReader IDProperty="IT_AUTOID">
<Fields>
<ext:RecordField Name="IT_AUTOID" />
<ext:RecordField Name="IT_NO" />
<ext:RecordField Name="IT_NAME" />
<ext:RecordField Name="U_NAME" />
<ext:RecordField Name="IG_NO" />
<ext:RecordField Name="IG_NAME" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:Column ColumnID="clNo" Header="No" Width="100" DataIndex="IT_NO" />
<ext:Column ColumnID="clName" Header="Name" DataIndex="IT_NAME" />
<ext:Column ColumnID="clUnit" Header="Unit" DataIndex="U_NAME" Width="70" />
<ext:Column ColumnID="clGroupName" Header="Group name" DataIndex="IG_NAME" Width="150" />
</Columns>
</ColumnModel>
<BottomBar>
<ext:vnyiPaging runat="server" ID="pgItemMaterial" PageChageScript="SearchDataforItemMaterial">
</ext:vnyiPaging>
</BottomBar>
<Listeners>
<KeyPress Fn="grdItemMaterial_KeyPress" />
</Listeners>
<KeyMap>
<ext:KeyBinding StopEvent="true">
<Keys>
<ext:Key Code="ENTER" />
<ext:Key Code="BACKSPACE" />
</Keys>
<Listeners>
<Event Fn="grdItemMaterial_Event" />
</Listeners>
</ext:KeyBinding>
</KeyMap>
<SelectionModel>
<ext:RowSelectionModel ID="RowSelectionModel2" runat="server" MoveEditorOnEnter="false" />
</SelectionModel>
</ext:GridPanel>
</Component>
<Listeners>
<Expand Handler="SearchDataforItemMaterial(1);" />
</Listeners>
</ext:DropDownField>
</Editor>
</ext:Column>
<ext:Column ColumnID="clGroupName" DataIndex="IG_NAME" Header="Group name">
</ext:Column>
<ext:Column ColumnID="clQuantity" DataIndex="RCPD_QUANTITY" Header="Quantity" Width="120">
<Renderer Fn="setView" />
<Editor>
<ext:NumberField runat="server" AllowDecimals="true" AllowNegative="false" DecimalPrecision="5"
DecimalSeparator="." />
</Editor>
</ext:Column>
<ext:Column ColumnID="clUnit" DataIndex="U_NAME" Header="Unit" Width="120">
</ext:Column>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel runat="server" SingleSelect="true" MoveEditorOnEnter="false">
<Listeners>
<BeforeRowSelect Fn="grdRecipeDetail_BeforeRowSelect" />
</Listeners>
</ext:RowSelectionModel>
</SelectionModel>
<KeyMap>
<ext:KeyBinding Ctrl="true" StopEvent="true">
<Keys>
<ext:Key Code="N" />
</Keys>
<Listeners>
<Event Fn="Material_KeyMap" />
</Listeners>
</ext:KeyBinding>
<ext:KeyBinding Shift="true" StopEvent="true">
<Keys>
<ext:Key Code="DELETE" />
</Keys>
<Listeners>
<Event Fn="Material_KeyMap" />
</Listeners>
</ext:KeyBinding>
<ext:KeyBinding StopEvent="true">
<Keys>
<ext:Key Code="ENTER" />
<ext:Key Code="ESC" />
<ext:Key Code="TAB" />
<ext:Key Code="BACKSPACE" />
</Keys>
<Listeners>
<Event Fn="Material_KeyMap" />
</Listeners>
</ext:KeyBinding>
</KeyMap>
</ext:GridPanel>
</Items>
</ext:Viewport>
<ext:KeyMap ID="KeyMap1" runat="server" Target="={Ext.isGecko ? Ext.getDoc() : Ext.getBody()}">
<ext:KeyBinding Ctrl="true" StopEvent="true">
<Keys>
<ext:Key Code="N" />
<ext:Key Code="S" />
<ext:Key Code="G" />
</Keys>
<Listeners>
<Event Fn="Recipe_KeyMap" />
</Listeners>
</ext:KeyBinding>
<ext:KeyBinding Shift="true" StopEvent="true">
<Keys>
<ext:Key Code="DELETE" />
</Keys>
<Listeners>
<Event Fn="Recipe_KeyMap" />
</Listeners>
</ext:KeyBinding>
<ext:KeyBinding StopEvent="true">
<Keys>
<ext:Key Code="F2" />
<ext:Key Code="F3" />
<ext:Key Code="ENTER" />
<ext:Key Code="ESC" />
<ext:Key Code="BACKSPACE" />
</Keys>
<Listeners>
<Event Fn="Recipe_KeyMap" />
</Listeners>
</ext:KeyBinding>
</ext:KeyMap>
</form>
</body>
</html>