I am using Hierachy Rad Grid and for editing the record I am using InPlace Editing mode.
When I have Parent Item and child item of some ther node in Edit mode and click on the update button it is giving me the error
Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.
Secondly I am not able to have the hierachy grid where in only one row should be editable.
Please help it is urgent.
Kind Regards
Vishal Gupta
12 Answers, 1 is accepted
Based on the supplied information, we cannot determine what is causing the error. Therefore I will ask you to open a formal support ticket, and send us a small working project, demonstrating your setup, and showing the unwanted behavior. We will review it locally, and get back to you with more information on the matter.
Greetings,
Pavlina
the Telerik team

In the itembound I am updating the data in again just setting the datasource of the grid back
nothing else
it seems there is a problem with the grid....
Provide me the link if anybody else had the faced the same issues..
Kind Regards
Vishal Gupta
I am not quite sure where the problem is as the provided information is not enough to reproduce this behavior. However, you can try setting EnableViewState property to False for the entire page, especially if you are rebinding the grid upon each request to the server.
Sincerely yours,
Pavlina
the Telerik team

I also encountered the same problem, I have a grid with an master view table and one detailviewtable and the Grid edit mode is inplace. when the row in masterviewtable is in edit and the row in the detail is also in edit mode then I click update or cancel or else buttion on the page then the error occurred. please see the enclosed and advise, thanks.
Best Regard,
Jack
Please see this forum thread and more specifically the post marked as an answer for full details about the issue.
In case you have difficulties in resolving the issue, please open a support ticket and send us your project files there - we will inspect them and will provide further guidance.
Greetings,
Pavlina
the Telerik team

Please provide me the solution.
ASPX code is below
<%@ Page Title="" Language="C#" MasterPageFile="~/Master/Main.master" AutoEventWireup="true" CodeFile="856ASN.aspx.cs" Inherits="TollingExternal33271.ASN" EnableEventValidation="false" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<style type="text/css">
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cpContent" Runat="Server">
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default" EnableEmbeddedSkins="false">
</telerik:RadAjaxLoadingPanel>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="radHeaderGrid">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1"
LoadingPanelID="RadAjaxLoadingPanel1" UpdatePanelHeight="" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="btnSaveDraft">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1" LoadingPanelID="RadAjaxLoadingPanel1" UpdatePanelHeight="" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="btnSend">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1"
LoadingPanelID="RadAjaxLoadingPanel1" UpdatePanelHeight="" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="btnCancel">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1"
LoadingPanelID="RadAjaxLoadingPanel1" UpdatePanelHeight="" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="radGridDetailItem">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadAjaxPanel1"
LoadingPanelID="RadAjaxLoadingPanel1" UpdatePanelHeight="" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadScriptBlock runat="server" ID="RadScriptBlock1">
<script type="text/javascript">
// function OnCommand(sender, args) {
// if (args.get_commandName() == "InitInsert") {
//
// args.set_cancel(true);
// // Code for opening the window goes here
// }
// }
function ValidateForm(BOL, LoadNo, ShipDate, DeliveryDate, MasterBOL, ToTBOL, Stop, Flag) {
if (Flag == 2)
if (!ConfirmationBox('Are you sure you wish to send the current draft?'))
return false;
if (Flag == 1)
if (!ConfirmationBox('Are you sure you wish to save the current draft?'))
return false;
var ErrorMessage = '';
var vLoadNo = $find(LoadNo);
var vBOL = $find(BOL);
var vShipDate = $find(ShipDate);
var vDeliveryDate = $find(DeliveryDate);
var vMasterBOL = $find(MasterBOL);
var vToTBOL = $find(ToTBOL);
var vStop = $find(Stop);
if (!Required(vBOL.get_value()))
ErrorMessage = 'Bol Id must be valued.\n';
if (!Required(vLoadNo.get_value()))
ErrorMessage = ErrorMessage + 'Load Id tmust be valued.\n';
var date = vShipDate.get_selectedDate();
if (vShipDate.isEmpty())
ErrorMessage = ErrorMessage + 'Ship Date must be valued.\n';
var DelDate = vDeliveryDate.get_selectedDate();
if (vDeliveryDate.isEmpty())
ErrorMessage = ErrorMessage + 'Estimated delivery date must be valued.\n';
if (ErrorMessage != '')
{ alert(ErrorMessage); return false }
if (Required(vMasterBOL.get_value()) || Required(vToTBOL.get_value()) || Required(vStop.get_value())) {
if (!Required(vMasterBOL.get_value())) {
alert('Master BOL required for Stop and # of BOLs');
vMasterBOL.focus();
return false;
}
if (!Required(vToTBOL.get_value())) {
alert('Number of BOLs required with Master BOL. Please enter a valid number.');
vToTBOL.focus();
return false;
}
if (!Required(vStop.get_value())) {
alert('Stop number required with Master BOL. Please enter a valid number');
vStop.focus();
return false;
}
if (vStop.get_value() > vToTBOL.get_value()) {
alert('Stop number cannot be greater that number of BOLs. Please enter valid number');
return false;
}
}
// Need to Add the Code to Validate the Number for Stop and TOT
var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>");
if (Flag == 1) {
// var currentLoadingPanel = $find("<%= RadAjaxLoadingPanel1.ClientID %>");
// var currentUpdatedControl = "<%= RadAjaxPanel1.ClientID %>";
// currentLoadingPanel.show(currentUpdatedControl);
// <%=RadAjaxPanel1.ClientID%>.ajaxRequestWithTarget("<%= RadAjaxPanel1.UniqueID %>", "SAVEDRAFT");
// currentLoadingPanel.hide(currentUpdatedControl);
ajaxManager.ajaxRequestWithTarget('<%= btnSaveDraft.UniqueID %>', 'SAVEDRAFT');
}
if (Flag == 2) {
//var currentLoadingPanel = $find("<%= RadAjaxLoadingPanel1.ClientID %>");
//var currentUpdatedControl = "<%= RadAjaxPanel1.ClientID %>";
// currentLoadingPanel.show(currentUpdatedControl);
//<%=RadAjaxPanel1.ClientID%>.ajaxRequestWithTarget("<%= RadAjaxPanel1.UniqueID %>", "Send");
//ajaxManager.ajaxRequest('KeepAlive');
ajaxManager.ajaxRequestWithTarget('<%= btnSend.UniqueID %>', 'SEND');
//$find("<%= RadAjaxManager1.ClientID %>").AjaxRequest("<%= btnSend.ClientID %>", "MyArgument");
// currentLoadingPanel.hide(currentUpdatedControl);
}
return true;
}
function CheckShipItemId(ShipItemId, PackID, CoilID, NetWGT, GrossWGT, AlloyId, WghUOM, ASNType) {
if (window.event.keyCode == 13 || window.event.keyCode == 9) {
$.ajax({
type: "POST",
url: "../AjaxEnabledServerValidation.asmx/GetPackRecords",
data: "{'Ship_Item_Id':'" + ShipItemId.value + "'}", //"{test:'Vishal'}",
contentType: "application/json; charset=utf-8",
//dataType: "html",
beforeSend: function () { },
success: function (data) {
var Pack = (typeof data.d) == 'string' ? eval('(' + data.d + ')') : data.d;
for (var i = 0; i < Pack.length; i++) {
if (!Pack[i].Flag) {
alert(Pack[i].ErrorMessage);
//ShowInformationAlert(Packs[i].ErrorMessage,'Error');
//ShipOrder.constru
ShipItemId.focus();
}
else {
var vPackID = $find(PackID);
var vCoilID = $find(CoilID);
var vNetWGT = $find(NetWGT);
var vGrossWGT = $find(GrossWGT);
var vWGTUOM = $find(WghUOM);
var vAlloy = $find(AlloyId);
vPackID.set_value(Pack[i].PackItemId);
vCoilID.set_value(Pack[i].SuppItemId);
vNetWGT.set_value(Pack[i].NetWeight);
vGrossWGT.set_value(Pack[i].GrossWeight);
if (vAlloy != null)
vAlloy.set_value(Pack[i].AlloyOrder);
// vWGTUOM.set_value(Pack[i].NetWeightUOM);
var item = vWGTUOM.findItemByText(Pack[i].NetWeightUOM);
if (item) {
item.select();
}
}
}
}, async: false,
error: function (err) {//XMLHttpRequest, textStatus, errorThrown) {
alert(err.responseText);
//ShowInformationAlert('error occured please contact the administrator','Error');
ShipItemId.focus();
}
});
}
}
function ValidateItem(ShipItemId, PackID, CoilID, NetWGT, GrossWGT, AlloyId, WghUOM, ASNType) {
if (!ValidateForm('<%=txtBOL.ClientID %>', '<%=txtLoadId.ClientID %>', '<%=radDateShipDate.ClientID %>', '<%=radDateDeivery.ClientID %>', '<%=txtMasterBOlId.ClientID %>', '<%=txtNoofBOLs.ClientID %>', '<%=txtStop.ClientID %>', '-1')) {
return false;
}
var vASNType = $find(ASNType);
var vShipItem = $find(ShipItemId);
var vPackID = $find(PackID);
var vCoilID = $find(CoilID);
var vNetWGT = $find(NetWGT);
var vGrossWGT = $find(GrossWGT);
var vWGTUOM = $find(WghUOM);
var vAlloy = $find(AlloyId);
var ErrorMessage = '';
if (!Required(vShipItem.get_value()))
ErrorMessage = 'Ship Item must be valued. \n';
if (!Required(vPackID.get_value()))
ErrorMessage = ErrorMessage + 'Pack Item must be valued. \n';
if (!Required(vPackID.get_value()) && vASNType.get_selectedItem().get_value() == "00")
ErrorMessage = ErrorMessage + 'Coil must be valued. \n';
if (!Required(vNetWGT.get_value()))
ErrorMessage = ErrorMessage + 'Net Weight must be valued. \n';
if (!Required(vGrossWGT.get_value()))
ErrorMessage = ErrorMessage + 'Gross Weight must be valued. \n';
if (vAlloy != null) {
if (!Required(vAlloy.get_value()))
ErrorMessage = ErrorMessage + 'Alloy must be valued. \n';
}
if (ErrorMessage != '') {
alert(ErrorMessage);
return false;
}
var returnValue = true;
if (vASNType.get_selectedItem().get_value() == "00") {
$.ajax({
type: "POST",
url: "../AjaxEnabledServerValidation.asmx/GetPackRecords",
data: "{'Ship_Item_Id':'" + vShipItem.get_value() + "'}", //"{test:'Vishal'}",
contentType: "application/json; charset=utf-8",
//dataType: "html",
beforeSend: function () { },
success: function (data) {
var Pack = (typeof data.d) == 'string' ? eval('(' + data.d + ')') : data.d;
for (var i = 0; i < Pack.length; i++) {
if (!Pack[i].Flag) {
alert(Pack[i].ErrorMessage);
returnValue = false;
vShipItem.focus();
}
}
}, async: false,
error: function (err) {
alert(err.responseText);
returnValue = false;
vShipItem.focus();
},
complete: function () { }
});
return returnValue;
}
if (vAlloy != null) {
returnValue = validateAlloy(AlloyId, -1);
}
return returnValue;
}
function validateAlloy(AlloyId, Flag) {
var returnFlag = true;
if ((Flag == 1 && (window.event.keyCode == 13 || window.event.keyCode == 9)) || Flag == -1) {
var vAlloy = $find(AlloyId);
$.ajax({
type: "POST",
url: "../AjaxEnabledServerValidation.asmx/ValidateAlloy",
data: "{'AlloyID':'" + vAlloy.get_value() + "'}", //"{test:'Vishal'}",
contentType: "application/json; charset=utf-8",
//dataType: "html",
beforeSend: function () { },
success: function (data) {
var Order = (typeof data.d) == 'string' ? eval('(' + data.d + ')') : data.d;
for (var i = 0; i < Order.length; i++) {
if (!Order[i].Flag) {
alert(Order[i].ErrorMessage);
vAlloy.focus();
returnFlag = false;
}
}
}, async: false,
error: function (err) {//XMLHttpRequest, textStatus, errorThrown) {
alert(err.responseText);
//ShowInformationAlert('error occured please contact the administrator','Error');
vAlloy.focus();
returnFlag = false;
},
complete: function () {
}
});
}
return returnFlag;
}
function CheckShipOrderId(vShipOrder, ShipTo, Flag) {
if (Flag == -1 && !ValidateForm('<%=txtBOL.ClientID %>', '<%=txtLoadId.ClientID %>', '<%=radDateShipDate.ClientID %>', '<%=radDateDeivery.ClientID %>', '<%=txtMasterBOlId.ClientID %>', '<%=txtNoofBOLs.ClientID %>', '<%=txtStop.ClientID %>', '-1')) {
return false;
}
var ShipOrder = $find(vShipOrder);
var vShipTo = $find(ShipTo);
var returnFlag = true;
if ((Flag == 1 && (window.event.keyCode == 13 || window.event.keyCode == 9)) || Flag == -1) {
$.ajax({
type: "POST",
url: "../AjaxEnabledServerValidation.asmx/ValidateShipOrderId",
data: "{'ShipOrderId':'" + ShipOrder.get_value() + "'}", //"{test:'Vishal'}",
contentType: "application/json; charset=utf-8",
//dataType: "html",
beforeSend: function () { },
success: function (data) {
var Order = (typeof data.d) == 'string' ? eval('(' + data.d + ')') : data.d;
for (var i = 0; i < Order.length; i++) {
if (!Order[i].Flag) {
alert(Order[i].ErrorMessage);
ShipOrder.focus();
vShipTo.set_value('');
returnFlag = false;
}
else {
// $('input[class$=ShipTo]').val(Order[i].ShipToName);
vShipTo.set_value(Order[i].SHIPTONAME);
}
}
}, async: false,
error: function (err) {//XMLHttpRequest, textStatus, errorThrown) {
alert(err.responseText);
//ShowInformationAlert('error occured please contact the administrator','Error');
ShipOrder.focus();
returnFlag = false;
}
});
}
return returnFlag
}
</script>
</telerik:RadScriptBlock>
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server"
onajaxsettingcreating="RadAjaxPanel1_AjaxSettingCreating1" >
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="500">
<tr ><td >
<telerik:RadPanelBar ID="RadHeaderPanel" runat="server" Width="30%" Skin="Default" EnableEmbeddedSkins="true">
<Items >
<telerik:RadPanelItem Value="ASNTransactionPanelItem"
Text="Drafted and Pending Transactions" runat="server" Width="100%" >
<ContentTemplate>
<telerik:RadGrid ID="radHeaderGrid" runat="server" AutoGenerateColumns="False" SkinID="NoFilter"
GridLines="None" onitemcommand="radHeaderGrid_ItemCommand" Width="100%" Skin="Default" >
<MasterTableView>
<CommandItemSettings ExportToPdfText="Export to Pdf" />
<RowIndicatorColumn>
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px" />
</ExpandCollapseColumn>
<Columns>
<telerik:GridButtonColumn CommandName="Select" Text="Modify"
UniqueName="Modify" ImageUrl="../Images/Edit.gif" ButtonType="ImageButton">
</telerik:GridButtonColumn>
<telerik:GridButtonColumn CommandName="Delete" Text="Delete"
UniqueName="Delete" ImageUrl="../Images/Delete.gif" ButtonType="ImageButton">
</telerik:GridButtonColumn>
<telerik:GridBoundColumn DataField="BOL_ID" HeaderText="BOL ID"
UniqueName="BOL">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Trans_Date" HeaderText="Transaction Date"
UniqueName="Trans_Date">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Status" HeaderText="Status"
UniqueName="Status">
</telerik:GridBoundColumn>
</Columns>
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Names="Arial"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
Wrap="True" />
<AlternatingItemStyle Font-Bold="False" Font-Italic="False" Font-Names="Arial"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
Wrap="True" />
<EditItemStyle Font-Bold="False" Font-Italic="False" Font-Names="Arial"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
Wrap="True" />
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Names="Arial"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
Wrap="True" />
<FooterStyle Font-Bold="False" Font-Italic="False" Font-Names="Arial"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
Wrap="True" />
</MasterTableView>
</telerik:RadGrid>
</ContentTemplate>
</telerik:RadPanelItem>
</Items>
</telerik:RadPanelBar>
</td></tr>
<tr><td> </td></tr>
<tr ><td class="TablerHeaderBg" ><asp:Label ID="lblASNHeaderHeading" runat="server" ></asp:Label> </td></tr>
<tr><td valign="top" height="20">
<table width="100%" >
<tr>
<td align="right"><asp:Label ID="lblBOL" runat="server" Text="" CssClass="LabelPage"></asp:Label></td>
<td>
<telerik:RadTextBox ID="txtBOL" class="required" runat="server" Width="7em" MaxLength="10" ></telerik:RadTextBox><font class="redstar" title="Required field">*</font></td>
<td align="right"><asp:Label ID="lblLoadId" runat="server" Text=""></asp:Label></td>
<td><telerik:RadTextBox ID="txtLoadId" runat="server" Width="7em" MaxLength="6"></telerik:RadTextBox><font class="redstar" title="Required field">*</font></td>
<td align="right"><asp:Label ID="lblMasterBOLId" runat="server" Text=""></asp:Label></td>
<td><telerik:RadTextBox ID="txtMasterBOlId" runat="server" Width="7em" MaxLength="15"></telerik:RadTextBox></td>
<td align="right"><asp:Label ID="lblNoofBOLs" runat="server" Text=""></asp:Label></td>
<td><telerik:RadTextBox ID="txtNoofBOLs" runat="server" Width="3em" MaxLength="2"></telerik:RadTextBox></td>
<td align="right"><asp:Label ID="lblStop" runat="server" Text=""></asp:Label></td>
<td><telerik:RadTextBox ID="txtStop" runat="server" Width="3em" MaxLength="2"></telerik:RadTextBox></td>
</tr>
<tr>
<td align="right"><asp:Label ID="lblShipDate" runat="server" Text=""></asp:Label></td>
<td>
<telerik:RadDatePicker ID="radDateShipDate" Runat="server" Width="10em" Culture="en-US" EnableTyping="False"></telerik:RadDatePicker><font class="redstar" title="Required field">*</font>
</td>
<td align="right"><asp:Label ID="lblDeliveryDate" runat="server" Text=""></asp:Label></td>
<td>
<telerik:RadDatePicker ID="radDateDeivery" Runat="server" Width="10em"
Culture="en-US" EnableTyping="False">
<Calendar UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False"
ViewSelectorText="x">
</Calendar>
<DateInput DateFormat="M/d/yyyy" DisplayDateFormat="M/d/yyyy" ReadOnly="True">
</DateInput>
<DatePopupButton HoverImageUrl="" ImageUrl="" />
</telerik:RadDatePicker><font class="redstar" title="Required field">*</font> </td>
<td align="right"><asp:Label ID="lblCarrier" runat="server" Text=""></asp:Label></td>
<td><telerik:RadComboBox ID="drpCarrier" runat="server" Width="20em"></telerik:RadComboBox><font class="redstar" title="Required field">*</font></td>
<td align="right"><asp:Label ID="lblEquipmentType" runat="server" Text=""></asp:Label></td>
<td colspan="3"><telerik:RadComboBox ID="drpEquipmentType" runat="server" Width="20em"></telerik:RadComboBox><font class="redstar" title="Required field">*</font></td>
</tr>
<tr>
<td align="right"><asp:Label ID="lblASNType" runat="server" Text=""></asp:Label></td>
<td><telerik:RadComboBox ID="drpASNType" runat="server" Width="5em"
onselectedindexchanged="drpASNType_SelectedIndexChanged">
<Items>
<telerik:RadComboBoxItem runat="server" Selected="True" Text="FG" Value="00" />
<telerik:RadComboBoxItem runat="server" Text="Scrap" Value="32" />
</Items>
</telerik:RadComboBox>
</td>
<td align="right"><asp:Label ID="lblErrorMessage" runat="server" Text=""></asp:Label></td>
<td colspan="7"><asp:Label ID="lblDBErrorMessage" runat="server" Text="" Width="100%"></asp:Label></td>
</tr>
<tr>
<td align="right" colspan="10">
<table cellpadding="0" >
<tr>
<td>
<asp:Button ID="btnSaveDraft" runat="server" Text="Save As Draft"
CssClass="LogisticsButton" />
</td>
<td>
<asp:Button ID="btnSend" runat="server" Text="Send" CssClass="LogisticsButton"
onclick="btnSend_Click" /></td>
<td>
<asp:Button ID="btnCancel" runat="server" Text="Reset"
CssClass="LogisticsButton" onclick="btnCancel_Click" /></td>
</tr>
</table>
</td>
</tr>
</table>
</td></tr>
<tr ><td valign="top" align=center >
<table width="100%" style="height:400px"><tr><td valign="top">
<telerik:RadGrid ID="radGridDetailItem" runat="server" DataMember="ASNDetail" SkinID="TelerikGridSkin"
GridLines="None"
ondetailtabledatabind="radGridDetailItem_DetailTableDataBind"
AutoGenerateColumns="False" Width="90%" EnableEmbeddedSkins="False"
onitemcommand="radGridDetailItem_ItemCommand"
onitemcreated="radGridDetailItem_ItemCreated"
oncolumncreated="radGridDetailItem_ColumnCreated"
onprerender="radGridDetailItem_PreRender" >
<MasterTableView DataMember="ASNDetail" CommandItemDisplay="Top" ShowHeader="False"
DataKeyNames="Detail_Line_No" EditMode="InPlace" AllowPaging="false"
NoDetailRecordsText="No Order Item Found"
NoMasterRecordsText="No Order Found" EnableColumnsViewState="true" >
<DetailTables>
<telerik:GridTableView runat="server" DataMember="Item"
DataKeyNames="Detail_Line_No,Item_Line_No,WGT_UOM"
CommandItemDisplay="Top" AllowPaging="false" SkinID="NoFitler"
EditMode="InPlace" Width="70%" BorderColor="Gray" BorderWidth="1px"
GridLines="None">
<ParentTableRelation>
<telerik:GridRelationFields DetailKeyField="Detail_Line_No" MasterKeyField="Detail_Line_No" />
</ParentTableRelation>
<CommandItemSettings ExportToPdfText="Export to Pdf" AddNewRecordText="add new item"
ShowRefreshButton="False"></CommandItemSettings>
<Columns>
<telerik:GridEditCommandColumn CancelImageUrl="../Images/Cancel.gif" EditImageUrl="../Images/Edit.gif" InsertImageUrl="../Images/Update.gif" UpdateImageUrl="../Images/update.gif" ButtonType="ImageButton">
<HeaderStyle Width="4%" />
</telerik:GridEditCommandColumn>
<telerik:GridButtonColumn CommandName="Delete" Text="Delete"
UniqueName="column1" Visible="False">
<HeaderStyle Width="3%" />
</telerik:GridButtonColumn>
<telerik:GridBoundColumn DataField="Detail_Line_No" UniqueName="column2" Visible="False" ReadOnly="True">
<HeaderStyle Width="3%" />
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn UniqueName="ShipItem" HeaderText="Ship Item">
<EditItemTemplate>
<telerik:RadTextBox ID="txtShipItem" MaxLength="20" Runat="server" Text='<%#Bind("Ship_Item_Id") %>' Width="7em" ></telerik:RadTextBox><font class="redstar" title="Required field">*</font>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblShipItemId" runat="server" Text='<%#Bind("Ship_Item_Id") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="15%" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="PackItem" HeaderText="Pack Item">
<EditItemTemplate>
<telerik:RadTextBox ID="txtPackId" class="PackItem" Enabled="false" Runat="server" Text='<%#Bind("Pack_Id") %>' Width="7em" MaxLength="12">
</telerik:RadTextBox><font class="redstar" title="Required field">*</font>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblPackId" runat="server" Text='<%#Bind("Pack_Id") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="15%" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="Coil" HeaderText="Coil" >
<EditItemTemplate>
<telerik:RadTextBox ID="txtCoilID" class="Coil" Enabled="false" Runat="server" Text='<%#Bind("Supp_Item_Id") %>' Width="7em" MaxLength="20">
</telerik:RadTextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblCoilId" runat="server" Text='<%#Bind("Supp_Item_id") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="15%" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="NetWgt" HeaderText="Net Weight">
<EditItemTemplate>
<telerik:RadTextBox ID="txtNetWght" class="NetWgt" Enabled="false" Runat="server" Text='<%#Bind("NET_WGT") %>' Width="5em" MaxLength="10" >
</telerik:RadTextBox><font class="redstar" title="Required field">*</font>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblNetWgt" runat="server" Text='<%#Bind("NET_WGT") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="10%" />
<ItemStyle HorizontalAlign="Right" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="GrossWgt" HeaderText="Gross Weight">
<EditItemTemplate>
<telerik:RadTextBox ID="txtGrosssWgt" class="GrossWgt" Enabled="false" Runat="server" Text='<%#Bind("GROSS_WGT") %>' Width="5em" MaxLength="10" >
</telerik:RadTextBox><font class="redstar" title="Required field">*</font>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblGrossWgt" runat="server" Text='<%#Bind("GROSS_WGT") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="10%" />
<ItemStyle HorizontalAlign="Right" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Wgt UOM" UniqueName="WgtUOM">
<EditItemTemplate>
<telerik:RadComboBox ID="drpWgtUOM" class="GrossWgt" Enabled="true" Runat="server" Width="3em" >
<Items>
<telerik:RadComboBoxItem runat="server" Selected="True" Text="LB" Value="LB" />
<telerik:RadComboBoxItem runat="server" Text="KG" Value="KG" />
</Items>
</telerik:RadComboBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblWgtUom" runat="server" Text='<%#Bind("WGT_UOM") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="10%" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Alloy" UniqueName="Alloy">
<EditItemTemplate>
<telerik:RadTextBox ID="txtAlloy" class="GrossWgt" Enabled="true" Runat="server" Text='<%#Bind("ALLOY_ID") %>' Width="7em" MaxLength="8" >
</telerik:RadTextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblAlloyId" runat="server" Text='<%#Bind("ALLOY_ID") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="15%" />
</telerik:GridTemplateColumn>
</Columns>
<EditFormSettings >
<EditColumn InsertImageUrl="../Images/update.gif" UpdateImageUrl="../Images/update.gif" EditImageUrl="../Images/edit.gif" CancelImageUrl="../Images/cancel.gif"></EditColumn>
</EditFormSettings>
<ItemStyle Font-Names="Arial" HorizontalAlign="Center" />
<AlternatingItemStyle Font-Names="Arial" HorizontalAlign="Center" />
<EditItemStyle Width="100%" />
<HeaderStyle BackColor="Gray" BorderWidth="1px" Font-Bold="True"
Font-Names="Arial" Height="20px" HorizontalAlign="Center" Wrap="False" />
<CommandItemStyle Font-Names="Arial" />
</telerik:GridTableView>
</DetailTables>
<CommandItemSettings ExportToPdfText="Export to Pdf"
AddNewRecordText="add new order" ShowRefreshButton="False"></CommandItemSettings>
<ExpandCollapseColumn Visible="True" Resizable="false" >
<HeaderStyle Width="4px" />
</ExpandCollapseColumn>
<Columns>
<telerik:GridEditCommandColumn CancelImageUrl="../Images/Cancel.gif"
EditImageUrl="../Images/Edit.gif" InsertImageUrl="../Images/Update.gif"
UpdateImageUrl="../Images/Update.gif" ButtonType="ImageButton" >
<HeaderStyle Width="5%" />
</telerik:GridEditCommandColumn>
<telerik:GridButtonColumn CommandName="Delete" Text="Delete"
UniqueName="Delete" Visible="False">
<HeaderStyle Width="5%" />
</telerik:GridButtonColumn>
<telerik:GridTemplateColumn UniqueName="ShipOrdID" HeaderText="Order">
<EditItemTemplate>
Order : <telerik:RadTextBox ID="txtOrderId" Runat="server" Text='<%#Bind("Ship_Ord_Id") %>' Width="10em" MaxLength="20">
</telerik:RadTextBox><font class="redstar" title="Required field">*</font>
</EditItemTemplate>
<ItemTemplate>
Order : <asp:Label ID="lblOrder" runat="server" Text='<%#Bind("Ship_Ord_Id") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="20%" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn UniqueName="ShipToName" HeaderText="ShipTo">
<EditItemTemplate>
Ship To : <telerik:RadTextBox ID="txtShipTo" class="ShipTo" Enabled="false" Runat="server" Text='<%#Bind("ship_to_name1") %>'
Width="10em" >
</telerik:RadTextBox>
</EditItemTemplate>
<ItemTemplate>
Ship To : <asp:Label ID="lblShipTo" runat="server" Text='<%#Bind("ship_to_name1") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="80%" />
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="Detail_line_no" HeaderText="Detail_line_no"
UniqueName="Detail_line_no" Visible="False" ReadOnly="True">
<HeaderStyle Width="60%" />
</telerik:GridBoundColumn>
</Columns>
<EditFormSettings >
<EditColumn InsertImageUrl="../Images/update.gif" UpdateImageUrl="../Images/update.gif" EditImageUrl="../Images/edit.gif" CancelImageUrl="../Images/cancel.gif"></EditColumn>
</EditFormSettings>
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Names="Arial"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
HorizontalAlign="Left" Wrap="True" />
<AlternatingItemStyle Font-Bold="False" Font-Italic="False" Font-Names="Arial"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
HorizontalAlign="Left" Wrap="False" />
<EditItemStyle Font-Bold="False" Font-Italic="False" Font-Names="Arial"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
Wrap="True" HorizontalAlign="Left" />
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Names="Arial"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
Wrap="True" />
<CommandItemStyle Font-Names="Arial" />
</MasterTableView>
<FilterMenu EnableEmbeddedSkins="False"></FilterMenu>
<HeaderContextMenu EnableEmbeddedSkins="False"></HeaderContextMenu>
</telerik:RadGrid>
</td>
<td widht="25%" valign="bottom">
<table cellpadding="0" width="100%">
<tr>
<td align="right">
</td>
</tr>
</table>
</td>
</tr>
</table>
</td></tr>
</table>
</telerik:RadAjaxPanel>
</asp:Content>
and code behind is mentioned below
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using TollingExternalEntities;
using TollingExternalBAL;
using Telerik.Web.UI;
namespace TollingExternal33271
{
public partial class ASN : PageBase
{
public TollingExternalBAL.ASN objASN;
protected void Page_Load(object sender, EventArgs e)
{
//Master_MainMaster objMaster = (Master_MainMaster)this.Page.Master;
//objMaster.RegisterPostBackControl(btnSaveDraft);
if (drpASNType.SelectedValue == "00")
radGridDetailItem.MasterTableView.DetailTables[0].Columns[9].Visible = false;
else
radGridDetailItem.MasterTableView.DetailTables[0].Columns[9].Visible = true;
objASN = new TollingExternalBAL.ASN();
if (!IsPostBack)
{
SetLabelCaption();
SetControlData();
SetASNInformation();
}
btnSaveDraft.Attributes.Add("onClick", "return ValidateForm('" + txtBOL.ClientID.ToString() + "','" + txtLoadId.ClientID.ToString() + "','" + radDateShipDate.ClientID.ToString() + "','" + radDateDeivery.ClientID.ToString() + "','" + txtMasterBOlId.ClientID.ToString() + "','" + txtNoofBOLs.ClientID.ToString() + "','" + txtStop.ClientID.ToString() + "',1 )");
}
protected void ResetPage()
{
SetControlData();
ViewState[Constants.VIEWSTATE_ASN_EDIT] = null;
SetASNInformation();
radGridDetailItem.DataBind();
radGridDetailItem.MasterTableView.ExpandCollapseColumn.Display = false;
}
public void SetASNInformation()
{
ASNTransaction objASNData = objASN.GetIn856TransactionDetail(Session[Constants.MAILBOXID].ToString());
radGridDetailItem.MasterTableView.DataSource = objASNData.ASN_Detail;
radGridDetailItem.MasterTableView.DetailTables[0].DataSource = objASNData.ASN_Item;
if (objASNData.ASN_Header.Select("Status = 'I'").Count() > 0)
{
PopulateHeader((objASNData.ASN_Header.Select("Status = 'I'"))[0]);
ASNTransaction objTempASN = objASN.Get856TransactionByTrans_Date(Session[Constants.MAILBOXID].ToString(), Convert.ToDateTime((objASNData.ASN_Header.Select("Status = 'I'"))[0]["Trans_Date"]).ToString(Constants.DATE_FROMAT_STRING));
ViewState[Constants.VIEWSTATE_ASN_EDIT] = objTempASN;
}
else
ResetHeaderControl();
RadGrid gridHeader = (RadGrid)RadHeaderPanel.FindItemByValue("ASNTransactionPanelItem").FindControl("radHeaderGrid");
gridHeader.DataSource = objASNData.ASN_Header.Select("Status <> 'I'");
gridHeader.DataBind();
ViewState[Constants.VIEWSTATE_ASN] = objASNData;
}
protected void ResetHeaderControl()
{
txtBOL.Text = string.Empty;
txtLoadId.Text = string.Empty;
txtMasterBOlId.Text = string.Empty;
txtNoofBOLs.Text = string.Empty; ;
txtStop.Text = string.Empty;
radDateShipDate.SelectedDate = DateTime.Now ;
radDateDeivery.SelectedDate = DateTime.Now;
drpCarrier.SelectedIndex = -1;
drpEquipmentType.SelectedIndex = -1;
//lblASNType.Text = Constants.ASNTYPETEXT; //need to find out
lblDBErrorMessage.Text = string.Empty;
drpASNType.SelectedIndex = -1;
}
protected void PopulateHeader(DataRow ASNHeader)
{
ASNTransaction.ASN_HeaderRow objASNHeader = (ASNTransaction.ASN_HeaderRow) ASNHeader;
txtBOL.Text = objASNHeader.BOL_ID;
txtLoadId.Text = objASNHeader.LOAD_ID;
txtMasterBOlId.Text = objASNHeader.MASTER_BOL_ID;
txtNoofBOLs.Text = objASNHeader.TOT_BOLS.ToString();
txtStop.Text = objASNHeader.STOP_NO.ToString();
radDateShipDate.SelectedDate= objASNHeader.SHIP_DATE;
radDateDeivery.SelectedDate = objASNHeader.EST_DVLR_DATE;
drpCarrier.SelectedIndex= drpCarrier.FindItemIndexByValue( objASNHeader.SCAC_ID);
drpEquipmentType.SelectedIndex = drpEquipmentType.FindItemIndexByValue(objASNHeader.EQUIP_TYPE);
//lblASNType.Text = Constants.ASNTYPETEXT; //need to find out
lblDBErrorMessage.Text = objASNHeader.ASN_COMMENT;
drpASNType.SelectedIndex = drpASNType.FindItemIndexByText(objASNHeader.EDI_ACTION_ID);
}
protected void SetControlData()
{
//table[0] - carrier , table[1] - equipment
DataSet dsCarrierEquip = GetCarrierEquipType();
drpCarrier.DataTextField = Constants.CARREER_DATATEXTFIELD;
drpCarrier.DataValueField = Constants.CARRIER_DATAVALUEFIELD;
drpCarrier.DataSource = dsCarrierEquip.Tables[0];
drpCarrier.DataBind();
drpEquipmentType.DataTextField = Constants.EQUIPMENT_DATATEXTFIELD;
drpEquipmentType.DataValueField = Constants.EQUIPMENT_DATAVALUEFIELD;
drpEquipmentType.DataSource = dsCarrierEquip.Tables[1];
drpEquipmentType.DataBind();
radDateDeivery.SelectedDate = DateTime.Now;
radDateShipDate.SelectedDate = DateTime.Now;
}
protected void SetLabelCaption()
{
lblBOL.Text = Constants.BOLTEXT;
lblLoadId.Text = Constants.LOADIDTEXT;
lblMasterBOLId.Text = Constants.MASTERBOLTEXT;
lblNoofBOLs.Text = Constants.NOOFBOLTEXT;
lblStop.Text = Constants.STOPTEXT;
lblShipDate.Text = Constants.SHIPDATETEXT;
lblDeliveryDate.Text = Constants.DELIVERYDATETEXT;
lblCarrier.Text = Constants.CARRIERTEXT;
lblEquipmentType.Text = Constants.EQUIPMENTTYPETEXT;
lblASNType.Text = Constants.ASNTYPETEXT;
lblErrorMessage.Text = Constants.ERRORMESSAGETEXT;
lblASNHeaderHeading.Text = Constants.ASNHEADERHEADINGTEXT;
// lblDraftedTransaction.Text = Constants.ASNDRAFTEDHEADINGTEXT;
}
protected void radGridDetailItem_DetailTableDataBind(object sender, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
{
if (drpASNType.SelectedValue == "00")
radGridDetailItem.MasterTableView.DetailTables[0].Columns[9].Visible = false;
else
radGridDetailItem.MasterTableView.DetailTables[0].Columns[9].Visible = true;
Telerik.Web.UI.GridDataItem parentItem = (Telerik.Web.UI.GridDataItem)e.DetailTableView.ParentItem;
if (parentItem.Edit)
{
return;
}
if (e.DetailTableView.DataMember == "Item")
{
// DataRow[] obj = ((ASNTransaction)ViewState["ASNItem"]).ASN_Item.Select("Trans_Date = '" + parentItem["Trans_Date"].Text + "' and Detail_Line_No = '" + parentItem["Detail_Line_No"].Text + "'",);
e.DetailTableView.DataSource = ((ASNTransaction)ViewState[Constants.VIEWSTATE_ASN_EDIT]).ASN_Item.Select("Detail_Line_No = '" + parentItem["Detail_Line_No"].Text + "'");
radGridDetailItem.MasterTableView.DetailTables[0].DataBind();
// e.DetailTableView.DataSource = ds.Tables["Item"].Select("Name = '" + parentItem["Name1"].Text + "'");
}
}
protected void radHeaderGrid_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
if (e.CommandName.ToUpper() == Constants.SELECT)
{
ASNTransaction objASNData = objASN.Get856TransactionByTrans_Date(Session[Constants.MAILBOXID].ToString(), Convert.ToDateTime(e.Item.Cells[5].Text).ToString(Constants.DATE_FROMAT_STRING).ToString());
radGridDetailItem.MasterTableView.DataSource = objASNData.ASN_Detail;
radGridDetailItem.MasterTableView.DetailTables[0].DataSource = objASNData.ASN_Item;
radGridDetailItem.DataBind();
PopulateHeader(objASNData.ASN_Header.Rows[0]);
ViewState[Constants.VIEWSTATE_ASN_EDIT] = objASNData;
}
}
protected bool IsHeaderSaveRequired(ASNTransaction.ASN_HeaderDataTable objASNHeader)
{
if (objASNHeader.Rows.Count > 1)
{
if (((ASNTransaction.ASN_HeaderRow)objASNHeader.Rows[0]).BOL_ID != txtBOL.Text.Trim() || ((ASNTransaction.ASN_HeaderRow)objASNHeader.Rows[0]).LOAD_ID != txtLoadId.Text.Trim() || ((ASNTransaction.ASN_HeaderRow)objASNHeader.Rows[0]).MASTER_BOL_ID != txtMasterBOlId.Text.Trim() || ((ASNTransaction.ASN_HeaderRow)objASNHeader.Rows[0]).TOT_BOLS.ToString() != txtNoofBOLs.Text.Trim())
{
return true;
}
if (((ASNTransaction.ASN_HeaderRow)objASNHeader.Rows[0]).STOP_NO.ToString() != txtStop.Text.Trim() || ((ASNTransaction.ASN_HeaderRow)objASNHeader.Rows[0]).SHIP_DATE != radDateShipDate.SelectedDate.Value || ((ASNTransaction.ASN_HeaderRow)objASNHeader.Rows[0]).EST_DVLR_DATE != radDateDeivery.SelectedDate.Value || ((ASNTransaction.ASN_HeaderRow)objASNHeader.Rows[0]).SCAC_ID != drpCarrier.SelectedValue.ToString())
{
return true;
}
if (((ASNTransaction.ASN_HeaderRow)objASNHeader.Rows[0]).EQUIP_TYPE.ToString() != drpEquipmentType.SelectedValue.ToString() || ((ASNTransaction.ASN_HeaderRow)objASNHeader.Rows[0]).EDI_ACTION_ID != drpASNType.SelectedValue.ToString() )
{
return true;
}
}
else return true;
return false;
}
protected void radGridDetailItem_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
{
if (ViewState[Constants.VIEWSTATE_ASN_EDIT] == null)
SaveASNHeader(Constants.INPROGRESSSTATUS);
else if (IsHeaderSaveRequired(((ASNTransaction)ViewState[Constants.VIEWSTATE_ASN_EDIT]).ASN_Header))
{
SaveASNHeader((((ASNTransaction)ViewState[Constants.VIEWSTATE_ASN_EDIT]).ASN_Header).Rows[0]["Status"].ToString());
}
ASNTransaction objASNData = (ASNTransaction)ViewState[Constants.VIEWSTATE_ASN_EDIT];
if (e.CommandName.ToUpper() == Constants.EXPAND)
{
return;
}
if (e.CommandName.ToUpper() == Constants.INITINSERT || e.CommandName.ToUpper() == Constants.EDIT)
{
}
if (e.CommandName.ToUpper() == Constants.INSERT)
{
if (e.Item.OwnerTableView.DataMember.ToUpper() == Constants.GRID_DETAIL_VIEW)
{
RadTextBox txtOrderId = (RadTextBox)e.Item.FindControl("txtOrderId");
SaveASNDetail(Session[Constants.MAILBOXID].ToString(), "-1", txtOrderId.Text.Trim(), objASNData.ASN_Header.Rows[0]["TRANS_DATE"].ToString(), Session[Constants.DUNNSID].ToString());
objASNData = objASN.Get856TransactionByTrans_Date(Session[Constants.MAILBOXID].ToString(), Convert.ToDateTime(objASNData.ASN_Header.Rows[0]["TRANS_DATE"].ToString()).ToString(Constants.DATE_FROMAT_STRING).ToString());
ViewState[Constants.VIEWSTATE_ASN_EDIT] = objASNData;
}
else if (e.Item.OwnerTableView.DataMember.ToUpper() == Constants.GRID_ITEM_VIEW)
{
GridDataItem parentItem = e.Item.OwnerTableView.ParentItem as GridDataItem;
RadTextBox txtShipItem = (RadTextBox)e.Item.FindControl("txtShipItem");
RadTextBox txtNetWght = (RadTextBox)e.Item.FindControl("txtNetWght");
RadTextBox txtPackId = (RadTextBox)e.Item.FindControl("txtPackId");
RadTextBox txtCoilID = (RadTextBox)e.Item.FindControl("txtCoilID");
RadTextBox txtGrosssWgt = (RadTextBox)e.Item.FindControl("txtGrosssWgt");
RadTextBox txtAlloy = (RadTextBox)e.Item.FindControl("txtAlloy");
RadComboBox drpWgtUOM = (RadComboBox)e.Item.FindControl("drpWgtUOM");
SaveASNItem(Session[Constants.MAILBOXID].ToString(), objASNData.ASN_Header.Rows[0]["TRANS_DATE"].ToString(), parentItem.GetDataKeyValue("Detail_Line_No").ToString(), "-1", txtShipItem.Text.Trim(), txtPackId.Text.Trim(), txtCoilID.Text.Trim(), txtNetWght.Text.Trim(), txtGrosssWgt.Text.Trim(), drpWgtUOM.SelectedValue, txtAlloy.Text);
objASNData = objASN.Get856TransactionByTrans_Date(Session[Constants.MAILBOXID].ToString(), Convert.ToDateTime(objASNData.ASN_Header.Rows[0]["TRANS_DATE"].ToString()).ToString(Constants.DATE_FROMAT_STRING).ToString());
ViewState[Constants.VIEWSTATE_ASN_EDIT] = objASNData;
}
}
if (e.CommandName.ToUpper() == Constants.UPDATE)
{
if (e.Item.OwnerTableView.DataMember.ToUpper() == Constants.GRID_DETAIL_VIEW)
{
RadTextBox txtOrderId = (RadTextBox)e.Item.FindControl("txtOrderId");
SaveASNDetail(Session[Constants.MAILBOXID].ToString(), e.Item.OwnerTableView.DataKeyValues[0]["Detail_Line_No"].ToString(), txtOrderId.Text.Trim(), objASNData.ASN_Header.Rows[0]["TRANS_DATE"].ToString(), Session[Constants.DUNNSID].ToString());
objASNData = objASN.Get856TransactionByTrans_Date(Session[Constants.MAILBOXID].ToString(), Convert.ToDateTime(objASNData.ASN_Header.Rows[0]["TRANS_DATE"].ToString()).ToString(Constants.DATE_FROMAT_STRING).ToString());
ViewState[Constants.VIEWSTATE_ASN_EDIT] = objASNData;
}
else if (e.Item.OwnerTableView.DataMember.ToUpper() == Constants.GRID_ITEM_VIEW)
{
GridDataItem parentItem = e.Item.OwnerTableView.ParentItem as GridDataItem;
RadTextBox txtShipItem = (RadTextBox)e.Item.FindControl("txtShipItem");
RadTextBox txtNetWght = (RadTextBox)e.Item.FindControl("txtNetWght");
RadTextBox txtPackId = (RadTextBox)e.Item.FindControl("txtPackId");
RadTextBox txtCoilID = (RadTextBox)e.Item.FindControl("txtCoilID");
RadTextBox txtGrosssWgt = (RadTextBox)e.Item.FindControl("txtGrosssWgt");
RadTextBox txtAlloy = (RadTextBox)e.Item.FindControl("txtAlloy");
RadComboBox drpWgtUOM = (RadComboBox)e.Item.FindControl("drpWgtUOM");
SaveASNItem(Session[Constants.MAILBOXID].ToString(), objASNData.ASN_Header.Rows[0]["TRANS_DATE"].ToString(), parentItem.GetDataKeyValue("Detail_Line_No").ToString(), e.Item.OwnerTableView.DataKeyValues[0]["Item_Line_No"].ToString(), txtShipItem.Text.Trim(), txtPackId.Text.Trim(), txtCoilID.Text.Trim(), txtNetWght.Text.Trim(), txtGrosssWgt.Text.Trim(), drpWgtUOM.SelectedValue, txtAlloy.Text);
objASNData = objASN.Get856TransactionByTrans_Date(Session[Constants.MAILBOXID].ToString(), Convert.ToDateTime(objASNData.ASN_Header.Rows[0]["TRANS_DATE"].ToString()).ToString(Constants.DATE_FROMAT_STRING).ToString());
ViewState[Constants.VIEWSTATE_ASN_EDIT] = objASNData;
}
}
//if (drpASNType.SelectedValue == "00" && ((ASNTransaction)ViewState[Constants.VIEWSTATE_ASN_EDIT]).ASN_Header.Rows[0]["EDI_ACTION_ID"].ToString() != "00")
// radGridDetailItem.MasterTableView.DetailTables[0].GetColumn("Alloy").Visible = false;
//else
// radGridDetailItem.MasterTableView.DetailTables[0].GetColumn("Alloy").Visible = true;
//radGridDetailItem.MasterTableView.Rebind();
radGridDetailItem.MasterTableView.DataSource = objASNData.ASN_Detail;
radGridDetailItem.MasterTableView.DetailTables[0].DataSource = objASNData.ASN_Item;
}
protected void Page_PreRender(object sender, EventArgs e)
{
if (ViewState[Constants.VIEWSTATE_ASN_EDIT] != null)
{
if (((ASNTransaction)ViewState[Constants.VIEWSTATE_ASN_EDIT]).ASN_Detail.Rows.Count <= 0)
{
radGridDetailItem.MasterTableView.ExpandCollapseColumn.Display = false;
}
else
{
radGridDetailItem.MasterTableView.ExpandCollapseColumn.Display = true;
}
}
else
{
radGridDetailItem.MasterTableView.ExpandCollapseColumn.Display = false;
}
}
//protected void radGridDetailItem_EditCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
//{
// Telerik.Web.UI.GridEditableItem item = (Telerik.Web.UI.GridEditableItem)e.Item;
//}
protected void radGridDetailItem_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridCommandItem)
{
Button addButton = e.Item.FindControl("AddNewRecordButton") as Button;
addButton.Attributes.Add("onClick", "return ValidateForm('" + txtBOL.ClientID.ToString() + "','" + txtLoadId.ClientID.ToString() + "','" + radDateShipDate.ClientID.ToString() + "','" + radDateDeivery.ClientID.ToString() + "','" + txtMasterBOlId.ClientID.ToString() + "','" + txtNoofBOLs.ClientID.ToString() + "','" + txtStop.ClientID.ToString() + "',-1 )");
LinkButton addlinkButton = e.Item.FindControl("InitInsertButton") as LinkButton;
addlinkButton.Attributes.Add("onClick", "return ValidateForm('" + txtBOL.ClientID.ToString() + "','" + txtLoadId.ClientID.ToString() + "','" + radDateShipDate.ClientID.ToString() + "','" + radDateDeivery.ClientID.ToString() + "','" + txtMasterBOlId.ClientID.ToString() + "','" + txtNoofBOLs.ClientID.ToString() + "','" + txtStop.ClientID.ToString() + "',-1 )");
}
RadTextBox txtShipItem = (RadTextBox)e.Item.FindControl("txtShipItem");
if (txtShipItem != null)
{
RadTextBox txtNetWght = (RadTextBox)e.Item.FindControl("txtNetWght");
RadTextBox txtPackId = (RadTextBox)e.Item.FindControl("txtPackId");
RadTextBox txtCoilID = (RadTextBox)e.Item.FindControl("txtCoilID");
RadTextBox txtGrosssWgt = (RadTextBox)e.Item.FindControl("txtGrosssWgt");
RadTextBox txtAlloy = (RadTextBox)e.Item.FindControl("txtAlloy");
RadComboBox drpWgtUOM = (RadComboBox)e.Item.FindControl("drpWgtUOM");
if (drpASNType.SelectedValue.ToString() == "00")
{
txtNetWght.Enabled = false; txtPackId.Enabled = false; txtCoilID.Enabled = false; txtGrosssWgt.Enabled = false; drpWgtUOM.Enabled = false;
}
else
{
txtNetWght.Enabled = true; txtPackId.Enabled = true; txtCoilID.Enabled = true; txtGrosssWgt.Enabled = true; drpWgtUOM.Enabled = true; txtAlloy.Visible = true;
if (e.Item.OwnerTableView.DataKeyValues.Count > 0)
drpWgtUOM.SelectedIndex = drpWgtUOM.FindItemIndexByText(e.Item.OwnerTableView.DataKeyValues[0]["WGT_UOM"].ToString());
}
txtShipItem.Attributes.Add("onKeyDown", "CheckShipItemId(this,'" + txtPackId.ClientID.ToString() + "','" + txtCoilID.ClientID.ToString() + "','" + txtNetWght.ClientID.ToString() + "','" + txtGrosssWgt.ClientID.ToString() + "','" + txtAlloy.ClientID.ToString() + "','" + drpWgtUOM.ClientID.ToString() + "','" + drpASNType.ClientID.ToString() + "' )");
txtAlloy.Attributes.Add("onKeyDown", "validateAlloy('" + txtAlloy.ClientID.ToString() + "',1)");
if ((e.Item is GridEditableItem) && (e.Item.IsInEditMode))
{
GridEditableItem edititem = (GridEditableItem)e.Item;
ImageButton updateBtn = (ImageButton)edititem.FindControl("UpdateButton");
ImageButton insertbtn = (ImageButton)edititem.FindControl("PerformInsertButton");
if (updateBtn != null)
updateBtn.Attributes.Add("OnClick", " return ValidateItem('" + txtShipItem.ClientID + "','" + txtPackId.ClientID.ToString() + "','" + txtCoilID.ClientID.ToString() + "','" + txtNetWght.ClientID.ToString() + "','" + txtGrosssWgt.ClientID.ToString() + "','" + txtAlloy.ClientID.ToString() + "','" + drpWgtUOM.ClientID.ToString() + "','" + drpASNType.ClientID.ToString() + "' )");
else
insertbtn.Attributes.Add("OnClick", " return ValidateItem('" + txtShipItem.ClientID + "','" + txtPackId.ClientID.ToString() + "','" + txtCoilID.ClientID.ToString() + "','" + txtNetWght.ClientID.ToString() + "','" + txtGrosssWgt.ClientID.ToString() + "','" + txtAlloy.ClientID.ToString() + "','" + drpWgtUOM.ClientID.ToString() + "','" + drpASNType.ClientID.ToString() + "' )");
}
}
RadTextBox txtOrderId = (RadTextBox)e.Item.FindControl("txtOrderId");
if (txtOrderId != null)
{
RadTextBox txtShipTo = (RadTextBox)e.Item.FindControl("txtShipTo");
txtOrderId.Attributes.Add("onKeyDown", "CheckShipOrderId('" + txtOrderId.ClientID.ToString() + "','" + txtShipTo.ClientID.ToString() + "',1)");
GridEditableItem edititem = (GridEditableItem)e.Item;
ImageButton updateBtn = (ImageButton)edititem.FindControl("UpdateButton");
ImageButton insertbtn = (ImageButton)edititem.FindControl("PerformInsertButton");
if (updateBtn != null)
updateBtn.Attributes.Add("onClick", "return CheckShipOrderId('" + txtOrderId.ClientID.ToString() + "','" + txtShipTo.ClientID.ToString() + "',-1)");
else
insertbtn.Attributes.Add("onClick", "return CheckShipOrderId('" + txtOrderId.ClientID.ToString() + "','" + txtShipTo.ClientID.ToString() + "',-1)");
}
}
protected void SaveASNItem(string MailBoxID, string TransDate, string DetailLineNo, string LineItemNo, string ShipItemID, string PackID, string SuppItemID, string NetWgt, string GrossWgt, string WgtUOM, string AlloyOrderID)
{
ASNTransaction.ASN_ItemDataTable objASNItem = new ASNTransaction.ASN_ItemDataTable();
ASNTransaction.ASN_ItemRow objASNItemRow = objASNItem.NewASN_ItemRow();
objASNItemRow.MAILBOX_ID = MailBoxID;
objASNItemRow.TRANS_DATE = Convert.ToDateTime(TransDate) ;
objASNItemRow.DETAIL_LINE_NO = Convert.ToInt16( DetailLineNo);
objASNItemRow.ITEM_LINE_NO = Convert.ToInt16( LineItemNo);
objASNItemRow.GROSS_WGT = Convert.ToDecimal(GrossWgt);
objASNItemRow.NET_WGT = Convert.ToDecimal( NetWgt);
objASNItemRow.SHIP_ITEM_ID = ShipItemID;
objASNItemRow.SUPP_ITEM_ID = SuppItemID;
objASNItemRow.ALLOY_ID = AlloyOrderID;
objASNItemRow.WGT_UOM = WgtUOM;
objASNItemRow.PACK_ID = PackID;
objASN.SaveASNItem(objASNItemRow);
}
public void btnSaveDraft_Click(object sender, EventArgs e)
{
SaveASNHeader(Constants.DRAFTEDSTATUS);
ResetPage();
}
protected void SaveASNHeader(string Status)
{
ASNTransaction objDraftASNData;
if (ViewState[Constants.VIEWSTATE_ASN_EDIT] != null)
{
objDraftASNData = (ASNTransaction)ViewState[Constants.VIEWSTATE_ASN_EDIT]; //Status = objDraftASNData.ASN_Header.Rows[0]["STATUS"].ToString();
}
else
{
Status = Constants.INPROGRESSSTATUS;
objDraftASNData = new ASNTransaction();
}
ASNTransaction.ASN_HeaderRow ASNDraftedHeaderData = objDraftASNData.ASN_Header.NewASN_HeaderRow();
ASNDraftedHeaderData = objDraftASNData.ASN_Header.NewASN_HeaderRow();
ASNDraftedHeaderData.BOL_ID = txtBOL.Text.Trim();
ASNDraftedHeaderData.LOAD_ID = txtLoadId.Text.Trim();
ASNDraftedHeaderData.MASTER_BOL_ID = txtMasterBOlId.Text.Trim();
ASNDraftedHeaderData.TOT_BOLS = txtNoofBOLs.Text.Trim();
ASNDraftedHeaderData.STOP_NO = txtStop.Text.Trim();
ASNDraftedHeaderData.SHIP_DATE = radDateShipDate.SelectedDate.Value;
ASNDraftedHeaderData.EST_DVLR_DATE = radDateDeivery.SelectedDate.Value;
ASNDraftedHeaderData.SCAC_ID = drpCarrier.SelectedValue.ToString();
ASNDraftedHeaderData.EQUIP_TYPE = drpEquipmentType.SelectedValue.ToString();
ASNDraftedHeaderData.EDI_ACTION_ID = drpASNType.SelectedValue.ToString();
ASNDraftedHeaderData.STATUS = Status;
ASNDraftedHeaderData.SHIP_FROM_DUNNS_ID = Session[Constants.DUNNSID].ToString();
ASNDraftedHeaderData.MAILBOX_ID = Session[Constants.MAILBOXID].ToString();
ASNDraftedHeaderData.SHIP_FROM_CCN_ID = "12345678";
if (objDraftASNData.ASN_Header.Rows.Count > 0)
{
ASNDraftedHeaderData.TRANS_DATE = Convert.ToDateTime(objDraftASNData.ASN_Header.Rows[0]["TRANS_DATE"]);
ASNDraftedHeaderData.SUPP_DUNNS_ID = objDraftASNData.ASN_Header.Rows[0]["SUPP_DUNNS_ID"].ToString();
ASNDraftedHeaderData.LTL_FLAG = objDraftASNData.ASN_Header.Rows[0]["SUPP_DUNNS_ID"].ToString();
objDraftASNData.ASN_Header.Rows.RemoveAt(0);
}
else
{
ASNDraftedHeaderData.TRANS_DATE = DateTime.Now;
}
objDraftASNData.ASN_Header.AddASN_HeaderRow(ASNDraftedHeaderData);
objASN.SaveASNHeader(ASNDraftedHeaderData);
if (ViewState[Constants.VIEWSTATE_ASN_EDIT] == null)
ViewState[Constants.VIEWSTATE_ASN_EDIT] = objDraftASNData;
}
protected void SaveASNDetail(string MailBoxId, string DetailLineNo, string ShipOrderId, string TransactionDate, string SuppDunnsID)
{
objASN.SaveASNDetail(DetailLineNo, ShipOrderId, MailBoxId, TransactionDate, SuppDunnsID);
}
protected void RadAjaxPanel1_AjaxSettingCreating1(object sender, AjaxSettingCreatingEventArgs e)
{
e.UpdatePanel.UpdateMode = UpdatePanelUpdateMode.Always;
}
protected override void RaisePostBackEvent(IPostBackEventHandler source, String eventArgument)
{
base.RaisePostBackEvent(source, eventArgument);
switch (eventArgument)
{
case "SaveDraft":
btnSaveDraft_Click(null, null);
break;
}
}
protected void drpASNType_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
if (drpASNType.SelectedValue == "00")
radGridDetailItem.MasterTableView.DetailTables[0].GetColumn("Alloy").Visible = false;
else
radGridDetailItem.MasterTableView.DetailTables[0].GetColumn("Alloy").Visible = true;
if (ViewState[Constants.VIEWSTATE_ASN_EDIT] != null)
{
radGridDetailItem.MasterTableView.DataSource = ((ASNTransaction)ViewState[Constants.VIEWSTATE_ASN_EDIT]).ASN_Detail;
radGridDetailItem.MasterTableView.DetailTables[0].DataSource = ((ASNTransaction)ViewState[Constants.VIEWSTATE_ASN_EDIT]).ASN_Item;
radGridDetailItem.Rebind();
}
}
protected void btnSend_Click(object sender, EventArgs e)
{
string ErrorMessage = string.Empty;
if (ViewState[Constants.VIEWSTATE_ASN_EDIT] != null)
{
//objASN.ValidateItemDetailCount(ref ErrorMessage, Session[Constants.MAILBOXID].ToString(), ((ASNTransaction)ViewState[Constants.VIEWSTATE_ASN_EDIT]).ASN_Header.Rows[0]["TRANS_DATE"].ToString());
}
}
protected void btnCancel_Click(object sender, EventArgs e)
{
ResetPage();
}
protected void radGridDetailItem_ColumnCreated(object sender, GridColumnCreatedEventArgs e)
{
//if (drpASNType.SelectedValue == "00")
// radGridDetailItem.MasterTableView.DetailTables[0].GetColumn("Alloy").Visible = false;
//else
// radGridDetailItem.MasterTableView.DetailTables[0].GetColumn("Alloy").Visible = true;
}
protected void radGridDetailItem_PreRender(object sender, EventArgs e)
{
//if (drpASNType.SelectedValue == "00")
// radGridDetailItem.MasterTableView.DetailTables[0].GetColumn("Alloy").Visible = false;
//else
// radGridDetailItem.MasterTableView.DetailTables[0].GetColumn("Alloy").Visible = true;
//radGridDetailItem.MasterTableView.Rebind();
}
}
}
//if ((e.Item is GridEditableItem) && (e.Item.IsInEditMode))
// {
// GridEditableItem editForm = (GridEditableItem)e.Item;
// LinkButton update = (LinkButton)editForm.FindControl("UpdateButton");
// LinkButton insert = (LinkButton)editForm.FindControl("PerformInsertButton");
// TextBox txtbx = (TextBox)editForm["BoundColumnUniqueName"].Controls[0];
// if (update != null)
// {
// update.Attributes.Add("onclick", "return Validate('" + txtbx.ClientID + "')");
// }
// if (insert != null)
// {
// insert.Attributes.Add("onclick", "return Validate('" + txtbx.ClientID + "')");
// }
// }
Kind Regards
Vishal Gupta

Thanks for your reply. I have studied the forum you mentioned but I am afriad that is not my case due to I am not using dynamically add control in placeholder on page. I have submitted a support request and get a ticket.
After I submitted support request, I found that in case I add below block and the said problem was gone.
If
Not
IsPostBack
Then
grdStatus.AllowMultiRowEdit =
True
End
If
but there have a strange behavior in AllowMultiRowEdit mode. for example, if there have 30 items in the page and in second item has two child item (detail table), and selected the second item and its child item to be editing. and then I did not click update or cancel on then grid item, istead, I click a button outside the grid called 'search' to retreive sql database and rebind it. everything is fine, except the second item still persists in IsInEditMode = True.
How can I make all item IsInEditMode is false, when I retreive SQL database data and rebind the grid, please advise, thanks.
Jack

I have fixed my project problem by amened below section. but I am not sure whether I was in the correct way.
Page_Load()
If
Not
IsPostBack
Then
grdStatus.MasterTableView.EditMode = GridEditMode.InPlace
grdStatus.AllowMultiRowEdit =
True
grdStatus.MasterTableView.HierarchyDefaultExpanded =
True
End
If
grdStatus_ItemCommand()
'just only on item (master table) is in edit mode.
If
e.CommandName = RadGrid.EditCommandName
AndAlso
e.Item.OwnerTableView.Name=
"whstatus"
Then
If
grdStatus.EditIndexes.Count > 0
Then
grdStatus.EditIndexes.Clear()
End
If
End
If
Serach()
dt = GetSorWhStatusDataTable(strFromDate, strToDate, oError)
Session(dsWhStatus) = dt
'clear all edit mode
grdStatus.EditIndexes.Clear()
'rebind
grdStatus.Rebind()
I am glad you were able to fix the problem.In case you experience further problems or you have additional questions, I will be happy to assist.
Kind regards,
Pavlina
the Telerik team

protected void radGrid_Created(object sender, GridItemEventArgs e)
{
if (!Page.IsPostBack && e.Item is GridEditableItem)
{
e.Item.Edit = true;
}
}
It didn't show up until I bound a control which was not in edit mode during the ItemDataBound callback. Removing the above lines fixed it (and I set the grid to auto-edit-mode by calling radGrid.MasterTableView.IsItemInserted = true in my NeedsDataSource instead).
-Mike

To be able to assist you further in this problem we will need to replicate it locally. That's why I would ask you to open up a formal support ticket and send a runnable sample that can be debugged on our side.
All the best,
Pavlina
the Telerik team