This is a migrated thread and some comments may be shown as answers.

weird issue cropped up in radGrid

6 Answers 80 Views
Grid
This is a migrated thread and some comments may be shown as answers.
rik butcher
Top achievements
Rank 1
rik butcher asked on 12 Jul 2011, 08:21 PM

guys, it's like something grew overnight on this grid and i just can't figure it out. hopefully ya'll might be able to point me in the right direction. any button on this grid (below) gets the error attached. (invalid postback or callback error).   it's sad but this code has sat there for a while unchanged and was working just fine... and then the error (attached) just started. it only happens with the editCommand button or the asp:ImageButton and frankly i can put anykind of button and the "click event"  - i assume is triggering this - even if there is no method attached to the button itself. everything else works just fine - menu items etc. has anyone seen this before or knows the cause of this?
thanks again for any help.
rik

 

 

 

<telerik:RadGrid ID="TruckLogItemsRadGrid" runat="server" AllowPaging="false" AutoGenerateColumns="false"

 

 

 

 

 

 

 

 

Skin="WebBlue" EnableTheming="false" AllowFilteringByColumn="false" OnItemDataBound="TruckLogItemsRadGrid_ItemDataBound"

 

 

 

 

 

 

 

 

OnNeedDataSource="TruckLogItemsRadGrid_NeedDataSource" Width="100%" ShowStatusBar="true"

 

 

 

 

 

 

 

 

OnDeleteCommand="TruckLogItemsRadGrid_DeleteCommand" OnUpdateCommand="TruckLogItemsRadGrid_UpdateCommand">

 

 

 

 

 

 

 

 

<GroupingSettings CaseSensitive="false" />

 

 

 

 

 

 

 

 

<MasterTableView EditMode="InPlace" DataKeyNames="TRUCKLOGITEMID,AVGLENGTH,MATERIALRANGEID,MATERIALTYPE,JOINTCOUNT,TALLYCOUNT,CREATEDDATE,CREATEDBY,LASTUPDATED,LASTUPDATEDBY,MATERIALTYPEID,MATERIALDESCRIPTION">

 

 

 

 

 

 

 

 

<HeaderStyle HorizontalAlign="Left" />

 

 

 

 

 

 

 

 

<Columns>

 

 

 

 

 

 

 

 

<telerik:GridTemplateColumn AllowFiltering="false" HeaderStyle-Width="50px" UniqueName="OptionsMenuCell"

 

 

 

 

 

 

 

 

ItemStyle-HorizontalAlign="Left" ItemStyle-Width="50px" ItemStyle-Wrap="false">

 

 

 

 

 

 

 

 

<ItemTemplate>

 

 

 

 

 

 

 

 

<asp:Image ID="RecordInfoImage" runat="server" ImageUrl="~/App_Themes/GOLD Main/Images/grid_info.gif"

 

 

 

 

 

 

 

 

CssClass="gridviewOptionsImage" />

 

 

 

 

 

 

 

 

<telerik:RadToolTip ID="InfoRadToolTip" runat="server" TargetControlID="RecordInfoImage"

 

 

 

 

 

 

 

 

Skin="Sunset" Position="MiddleRight" CssClass="gridviewToolTip" />

 

 

 

 

 

 

 

 

<asp:Image ID="PopupMenuImage" runat="server" ImageUrl="~/App_Themes/GOLD Main/Images/grid_menu_popup.gif"

 

 

 

 

 

 

 

 

CssClass="gridviewOptionsImage" />

 

 

 

 

 

 

 

 

<telerik:RadContextMenu ID="OptionsRadContextMenu" runat="server" Skin="WebBlue"

 

 

 

 

 

 

 

 

CssClass="leftText">

 

 

 

 

 

 

 

 

<Targets>

 

 

 

 

 

 

 

 

<telerik:ContextMenuControlTarget ControlID="PopupMenuImage" />

 

 

 

 

 

 

 

 

</Targets>

 

 

 

 

 

 

 

 

<Items>

 

 

 

 

 

 

 

 

<telerik:RadMenuItem Text="Import From Tally-Rite Device" ImageUrl="../App_Themes/GOLD Main/ToolBar/save_16x16.gif" />

 

 

 

 

 

 

 

 

<telerik:RadMenuItem Text="Edit Tally Data" ImageUrl="../App_Themes/GOLD Main/ToolBar/save_16x16.gif" />

 

 

 

 

 

 

 

 

 

</Items>

 

 

 

 

 

 

 

 

</telerik:RadContextMenu>

 

 

 

 

 

 

 

 

<asp:ImageButton ID="DeleteItem" runat="server" ImageUrl="~/App_Themes/GOLD Main/ToolBar/trash_16x16.gif"

 

 

 

 

 

 

 

 

CommandName="Delete" CssClass="gridviewOptionsImage" OnClientClick="javascript:if(!confirm('This action will delete the selected truck log item. Are you sure?')){return false;}" />

 

 

 

 

 

 

 

 

 

</ItemTemplate>

 

 

 

 

 

 

 

 

</telerik:GridTemplateColumn>

 

 

 

 

 

 

 

 

<telerik:GridEditCommandColumn ButtonType="ImageButton" EditImageUrl="../App_Themes/GOLD Main/ToolBar/edit_16x16.gif"

 

 

 

 

 

 

 

 

CancelImageUrl="../App_Themes/GOLD Main/ToolBar/delete_16x16.gif" UpdateImageUrl="../App_Themes/GOLD Main/ToolBar/save_16x16.gif"

 

 

 

 

 

 

 

 

HeaderStyle-Width="60px" ItemStyle-CssClass="gridviewOptionsImage" ItemStyle-Wrap="false" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="LOGITEM" HeaderText="#" HeaderStyle-Width="30px"

 

 

 

 

 

 

 

 

ReadOnly="true" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="QTY" HeaderText="Qty" AllowFiltering="false"

 

 

 

 

 

 

 

 

ColumnEditorID="TextBoxColumnEditorDefault" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="LENGTH" HeaderText="Length" HeaderStyle-Width="60px"

 

 

 

 

 

 

 

 

ColumnEditorID="TextBoxColumnEditorDefault" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="RACKNUMBER" HeaderText="Rack #" HeaderStyle-Width="60px"

 

 

 

 

 

 

 

 

ColumnEditorID="TextBoxColumnEditorDefault" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="TALLYCOUNT" HeaderText="Tally" HeaderStyle-Width="40px"

 

 

 

 

 

 

 

 

ReadOnly="true" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="WORKORDERITEMDISPLAY" HeaderText="Work Order"

 

 

 

 

 

 

 

 

HeaderStyle-Width="80px" FilterControlWidth="60px" ReadOnly="true" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="RELEASENUMBER" HeaderText="Release #" ReadOnly="true" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="MATERIALTYPE" HeaderText="Type" HeaderStyle-Width="100px"

 

 

 

 

 

 

 

 

ReadOnly="true" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="MATERIALCOLORBAND" HeaderText="Color" ReadOnly="true" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="SIZEVALUE" HeaderText="Size" FilterControlWidth="40px"

 

 

 

 

 

 

 

 

ColumnEditorID="TextBoxColumnEditorDefault" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="MATERIALCOATING" HeaderText="Coating" ReadOnly="true" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="MATERIALTHREAD" HeaderText="Thread" ReadOnly="true" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="MATERIALGRADE" HeaderText="Grade" ReadOnly="true" />

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="MATERIALRANGE" HeaderText="Range" ReadOnly="true" />

 

 

 

 

 

 

 

 

</Columns>

 

 

 

 

 

 

 

 

</MasterTableView>

 

 

 

 

 

 

 

 

</telerik:RadGrid>

 

6 Answers, 1 is accepted

Sort by
0
Vasil
Telerik team
answered on 18 Jul 2011, 08:41 AM
Hello Rik,

You could temporarily disable the Ajax, to make regular post-back instead of Ajax calls. This will allow you to get the error on server side and can help you in debugging the problem.
This error usually happens when the button which triggered a server side event, is not existing on the server any more. For example if you dynamically create a button and then not recreate it on Page_Init this would result in such an error. Is you grid declared in a user control that you load dynamically? Do you add/remove controls from the code-behind?

All the best,
Vasil
the Telerik team

Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

0
rik butcher
Top achievements
Rank 1
answered on 18 Jul 2011, 12:44 PM

the grid does sit in an aJaxPanel & i had tried disabling ajax before. is below what you're refering to? and the button is created statically, not dynamically. (<asp:ImageButton ID="DeleteItem" runat="server" ImageUrl="~/App_Themes/GOLD Main/ToolBar/trash_16x16.gif"

 

 

 

 

CommandName="Delete" CssClass="gridviewOptionsImage" OnClientClick="javascript:if(!confirm('This action will delete the selected truck log item. Are you sure?')){return false;}" />)
below didn't work either.

 

 

<telerik:RadAjaxPanel ID="MainContentAjaxPanel" runat="server" LoadingPanelID="ToolBarAjaxLoadingPanel" EnableAJAX="false"> //this had no effect though.
I even commented out this whole AjaxPanel and that had no change either.

there's also another grid on the page with this one that doesn't have that problem and is constructed the same way.it also sits in the ajax panel & i can add buttons on the grid all day long.
 
i also commented out this grid entirely and started rebuilding another one (different Id) and put the bare minimum in there for it to function. as soon as i added a button on the gridRow - the same thing happened. now, the thing is we have literally 65 other grids in the project with the same exact structure &  functionality & this is the 1st one you can't add a delete button to. something is making no sense at all.
do you need me to send you the whole .aspx - possibly you can see something i'm missing?
thanks again
rik

 

0
Vasil
Telerik team
answered on 18 Jul 2011, 02:51 PM
Hello Rik,

Could you share the aspx page along with the code-behind?
Do you change anything of the grid in the code-behind before Page_Init event? Changing the grid's structure too early, before recreation, of the controls could cause such a problem.

Regards,
Vasil
the Telerik team

Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

0
rik butcher
Top achievements
Rank 1
answered on 18 Jul 2011, 03:11 PM
thanks,tried to attach, but only allows certain types:
here's the .aspx:

<%

@ Page Language="C#" AutoEventWireup="true" CodeBehind="ShippingTruck.aspx.cs"

 

 

Inherits="NOV.GOLD.WebApp.Trucking.ShippingTruck" Theme="GOLD Popup" %>

 

<!

 

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">

 

 

<base target="_self" />

 

 

<title>NOV GOLD - Shipping Truck</title>

 

</

 

head>

 

<

 

body>

 

 

<form id="form1" runat="server">

 

 

<telerik:RadFormDecorator ID="ButtonFormDecorator" runat="server" Skin="WebBlue"

 

 

DecoratedControls="Buttons" />

 

 

 

<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server">

 

 

<Scripts>

 

 

<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />

 

 

<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />

 

 

<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />

 

 

</Scripts>

 

 

</asp:ScriptManager>

 

 

<script type="text/javascript" src="../Scripts/CommonFunctions.js"></script>

 

 

<script type="text/javascript" src="../Scripts/Trucking.js"></script>

 

 

<script type="text/javascript" >

 

 

 

function ImportTallyRite(jointcount, tallycount, id) {

 

 

var myUser = document.getElementById("txtCurrentUser").value;

 

 

var result = "";

 

 

var jntCount = jointcount;// RowDataInfoProperty(anchorObject, "TruckLogItemJointCount");

 

 

var tlyCount = tallycount;// RowDataInfoProperty(anchorObject, "TruckLogItemTallyCount");

 

 

var trkItemID = id;// RowDataInfoProperty(anchorObject, "id");

 

result = getTally(jntCount, tlyCount);

 

if (result != "") {

 

document.all(

"txtTallyRiteData").value = result;

 

 

PageMethods.MachineProcessTally(jntCount, result, id,myUser);

__doPostBack(

'__Page', '');//DO POST BACK SO THE PAGE LOAD EVENT WILL PICK THIS UP AND REBIND THE GRID

 

}

else {

 

}

}

 

 

function getTally(itemQty) {

 

 

// obtain objects and init variables

 

 

var commTally = document.all('saxcomm8');

 

 

var crlf = "\r\n";

 

 

var strLine = "";

 

 

var strTallies = "";

 

 

var tallyKntr = 0;

 

 

var JointCount = 0;

 

 

var TotalLength = 0.0;

 

 

var CheckLength = 0.0;

 

 

var holdingVal = 0.0;

 

 

var holdingStr = "";

 

 

// alert("tool bar is: " + commTally.ToolBarVisible);

 

 

if (commTally == null) {

 

alert(

"The required software is not installed to use the Tally-Rite on this computer.");

 

 

return ("");

 

}

else if (commTally.length == 0) {

 

alert(

"The software required to use the Tally-Rite on this computer is not installed.");

 

 

return ("");

 

}

else if (commTally.length > 1) {

 

alert(

"The software required to use the Tally-Rite on this computer is incorrectly installed.");

 

 

return ("");

 

}

else if (commTally.ToolBarVisible == null) {

 

alert(

"The software needed to use the Tally-Rite on this computer is not installed.");

 

 

return ("");

 

}

 

 

// set it up

 

 

//commTally.StatusBarVisible = true;

 

commTally.ToolBarVisible =

false;

 

 

// initialize Comm component parameters

 

commTally.AutoReceive =

false;

 

commTally.InputMode = 0;

commTally.InTimeOut = 4000;

commTally.InputLen = 0;

 

// open the comm port and send the trigger character

 

commTally.PortOpen =

true;

 

commTally.Output =

"1";

 

 

// check to see if comm port got opened sucessfully

 

 

// first input line is stack number which can be tossed

 

strLine = commTally.LineInput;

 

if (strLine.length == 0) {

 

alert(

"Please ensure that the cable is connected correctly.");

 

 

return ("");

 

}

 

// second line is TallyRite's version of the joint count

 

strLine = commTally.LineInput;

 

if (strLine.indexOf("END") == -1)

 

JointCount = parseInt(strLine, 10);

 

// read tally lines from comm port until the END string is found

 

strLine = commTally.LineInput;

 

if (strLine.indexOf("END") == -1)

 

holdingStr = strLine;

 

do {

 

strLine = commTally.LineInput;

 

if (strLine.indexOf("END") == -1) {

 

strTallies = strTallies.concat(holdingStr, crlf);

TotalLength += parseFloat(holdingStr.replace(

",", ""));

 

tallyKntr++;

holdingStr = strLine;

}

 

else {

 

CheckLength = parseFloat(holdingStr.replace(

",", ""));

 

}

}

while (strLine.indexOf("END") == -1);

 

 

// close the comm port

 

commTally.PortOpen =

false;

 

 

// check accumulated joint count against TallyRite's count

 

 

if (tallyKntr != JointCount) {

 

alert(

"Corrupt download. Joint count doesn't match. Transfer aborted.");

 

 

return ("");

 

}

 

// check accumulated length against TallyRite's total

 

 

if (TotalLength.toFixed(2) != CheckLength.toFixed(2)) {

 

alert(

"Corrupt download. Lengths don't match. Transfer aborted.");

 

 

return ("");

 

}

 

// compare JointCount to what the truck log item expects

 

 

if (JointCount == itemQty) {

 

 

if (window.confirm("TallyRite has " + JointCount.toString(10) + " tallies,\n" +

 

 

"which matches the truck log item quantity.\n" +

 

 

"The truck item's length will be adjusted to " + TotalLength.toFixed(2) + "."))

 

 

return (strTallies);

 

}

 

if (JointCount < itemQty) {

 

 

if (window.confirm("TallyRite has " + JointCount.toString(10) + " tallies,\n" +

 

 

"which is " + (itemQty - JointCount).toString(10) + " less than the truck log item quantity.\n" +

 

 

"Those joints will be returned to the release\n" +

 

 

"and the truck item's length adjusted to " + TotalLength.toFixed(2) + "."))

 

 

return (strTallies);

 

}

 

if (JointCount > itemQty) {

 

 

if (window.confirm("TallyRite has " + JointCount.toString(10) + " tallies,\n" +

 

 

"which is " + (JointCount - itemQty).toString(10) + " MORE than the truck log item quantity.\n" +

 

 

"If there isn't enough material in the release OR IN INVENTORY to make\n" +

 

 

"this up, the tallies will NOT BE SAVED! Otherwise the quantity\n" +

 

 

"will be increased to match and length will be adjusted to " + TotalLength.toFixed(2) + "."))

 

 

return (strTallies);

 

}

 

return ("");

 

}

 

</script>

 

 

<a id="RedirectLink" href="" class="hideObject"></a>

 

 

<telerik:RadAjaxPanel ID="MainContentAjaxPanel" runat="server" LoadingPanelID="ToolBarAjaxLoadingPanel">

 

 

<div id="header">

 

 

<asp:Label ID="HeaderTitleLabel" runat="server" CssClass="popupTitleLabel" />

 

 

<div id="headerRight">

 

Truck Console

 

</div>

 

 

</div>

 

 

<div id="mainContent">

 

 

<div class="toolbar">

 

 

<table>

 

 

<tr>

 

 

<td>

 

 

<telerik:RadToolBar ID="TruckLogToolBar" runat="server" Orientation="Horizontal"

 

 

Skin="Default" OnButtonClick="TruckLogToolBar_ButtonClick">

 

 

<Items>

 

 

<telerik:RadToolBarButton runat="server" Text="Exit" ImagePosition="Left" NavigateUrl="javascript:window.close()"

 

 

ImageUrl="~/App_Themes/GOLD Main/ToolBar/delete_16x16.gif" ToolTip="Close Truck Log" />

 

 

<telerik:RadToolBarButton runat="server" IsSeparator="true" />

 

 

<telerik:RadToolBarButton runat="server" Text="Ship Selected" ImagePosition="Left"

 

 

NavigateUrl="" ImageUrl="~/App_Themes/GOLD Main/ToolBar/move_16x16.gif" ToolTip="Truck Selected Items" />

 

 

<telerik:RadToolBarButton runat="server" IsSeparator="true" />

 

 

<telerik:RadToolBarButton runat="server" Text="Tally Report" ImagePosition="Left"

 

 

NavigateUrl="" ImageUrl="~/App_Themes/GOLD Main/ToolBar/print_16x16.gif" ToolTip="Print Truck Tallies" />

 

 

<telerik:RadToolBarButton runat="server" Text="Authorize" ImagePosition="Left" NavigateUrl=""

 

 

ImageUrl="~/App_Themes/GOLD Main/ToolBar/print_16x16.gif" ToolTip="Print Unloading Authorization" />

 

 

<telerik:RadToolBarButton runat="server" Text="Bill of Landing" ImagePosition="Left"

 

 

NavigateUrl="" ImageUrl="~/App_Themes/GOLD Main/ToolBar/print_16x16.gif" ToolTip="Print Bill of Landing (BOL)" />

 

 

<telerik:RadToolBarButton runat="server" IsSeparator="true" />

 

 

<telerik:RadToolBarButton runat="server" Text="Exit Truck" ImagePosition="Left" NavigateUrl=""

 

 

ImageUrl="~/App_Themes/GOLD Main/ToolBar/checkmark_16x16.gif" ToolTip="Exit Truck" />

 

 

</Items>

 

 

</telerik:RadToolBar>

 

 

</td>

 

 

<td>

 

 

<telerik:RadAjaxLoadingPanel ID="ToolBarAjaxLoadingPanel" runat="server" IsSticky="true"

 

 

CssClass="ajaxLoadingPanel">

 

 

<asp:Image ID="AjaxLoadingImage" runat="server" ImageUrl="~/App_Themes/GOLD Main/Images/ajax_loader_blue.gif"

 

 

CssClass="ajaxLoadingImage" />

 

 

<asp:Label ID="AjaxLoadingLabel" runat="server" CssClass="ajaxLoadingLabel" Text="Loading..." />

 

 

</telerik:RadAjaxLoadingPanel>

 

 

</td>

 

 

</tr>

 

 

</table>

 

 

</div>

 

 

<telerik:RadTabStrip runat="server" ID="TruckLogTabStrip" SelectedIndex="0" Skin="Default"

 

 

MultiPageID="TruckLogMultiPage" Width="100%" CssClass="tabStrip" AutoPostBack="true">

 

 

<Tabs>

 

 

<telerik:RadTab runat="server" Text="Truck Info" PageViewID="TruckInfoPageView" />

 

 

<telerik:RadTab runat="server" Text="Log Items" PageViewID="LogItemsPageView" />

 

 

</Tabs>

 

 

</telerik:RadTabStrip>

 

 

<telerik:RadMultiPage runat="server" ID="TruckLogMultiPage" SelectedIndex="0" CssClass="multiPageView"

 

 

RenderSelectedPageOnly="true">

 

 

<telerik:RadPageView runat="server" ID="TruckInfoPageView">

 

 

<table class="detailsTable" id="TruckLogHeaderInfoTable" runat="server">

 

 

<tr>

 

 

<td class="disabledDesc">

 

Truck Type

 

</td>

 

 

<td>

 

 

<telerik:RadComboBox ID="TruckTypeComboBox" runat="server" Width="120px" Skin="WebBlue"

 

 

Enabled="false">

 

 

<Items>

 

 

<telerik:RadComboBoxItem Value="0" Text="Shipping" />

 

 

<telerik:RadComboBoxItem Value="-1" Text="Receiving" />

 

 

</Items>

 

 

</telerik:RadComboBox>

 

 

</td>

 

 

<td class="disabledDesc">

 

Date In

 

</td>

 

 

<td>

 

 

<telerik:RadTextBox ID="DateInTextBox" runat="server" Width="150px" Skin="WebBlue"

 

 

CssClass="textbox" ReadOnly="true" />

 

 

</td>

 

 

</tr>

 

 

<tr>

 

 

<td class="disabledDesc">

 

Status

 

</td>

 

 

<td>

 

 

<telerik:RadComboBox ID="StatusComboBox" runat="server" Width="100px" Skin="WebBlue"

 

 

Enabled="false">

 

 

<Items>

 

 

<telerik:RadComboBoxItem Text="In Yard" />

 

 

</Items>

 

 

</telerik:RadComboBox>

 

 

</td>

 

 

<td class="disabledDesc">

 

Division

 

</td>

 

 

<td>

 

 

<telerik:RadTextBox ID="DivisionTextBox" runat="server" Width="200px" Skin="WebBlue"

 

 

CssClass="textbox" ReadOnly="true" />

 

 

</td>

 

 

</tr>

 

 

</table>

 

 

<div class="detailsHeader">

 

Truck Information

 

</div>

 

 

<table class="detailsTable">

 

 

<tr>

 

 

<td class="requiredDesc">

 

Carrier

 

</td>

 

 

<td>

 

 

<telerik:RadComboBox ID="CarrierComboBox" runat="server" Width="200px" Skin="WebBlue"

 

 

EmptyMessage="- Select -" EnableLoadOnDemand="true" OnItemsRequested="CarrierComboBox_ItemsRequested"

 

 

AllowCustomText="false" DataTextField="TRUCKCARRIER" DataValueField="TRUCKCARRIERID"

 

 

Height="120px" />

 

 

</td>

 

 

</tr>

 

 

<tr>

 

 

<td class="requiredDesc">

 

Truck #

 

</td>

 

 

<td>

 

 

<telerik:RadTextBox ID="TruckNumberTextBox" runat="server" Width="200px" Skin="WebBlue"

 

 

CssClass="textbox" />

 

 

</td>

 

 

</tr>

 

 

<tr>

 

 

<td class="requiredDesc">

 

Driver

 

</td>

 

 

<td>

 

 

<telerik:RadTextBox ID="TruckDriverTextBox" runat="server" Width="200px" Skin="WebBlue"

 

 

CssClass="textbox" />

 

 

</td>

 

 

</tr>

 

 

<tr>

 

 

<td class="requiredDesc">

 

Witness

 

</td>

 

 

<td>

 

 

<telerik:RadComboBox ID="WitnessComboBox" runat="server" Width="200px" Skin="WebBlue"

 

 

EmptyMessage="- Select -" EnableLoadOnDemand="true" OnItemsRequested="WitnessComboBox_ItemsRequested"

 

 

AllowCustomText="false" DataTextField="WITNESSNAME" DataValueField="WITNESSID"

 

 

Height="120px" />

 

 

</td>

 

 

</tr>

 

 

<tr>

 

 

<td class="inputDesc">

 

Trucking

<br />

 

Comments

 

</td>

 

 

<td>

 

 

<telerik:RadTextBox ID="TruckingCommentsTextBox" runat="server" Width="400px" Skin="WebBlue"

 

 

CssClass="textbox" TextMode="MultiLine" Rows="5" />

 

 

</td>

 

 

</tr>

 

 

<tr>

 

 

<td class="disabledDesc">

 

Release

<br />

 

Comments

 

</td>

 

 

<td>

 

 

<telerik:RadTextBox ID="ReleaseCommentsTextBox" runat="server" Width="400px" Skin="WebBlue"

 

 

CssClass="textbox" TextMode="MultiLine" Rows="5" ReadOnly="true" />

 

 

</td>

 

 

</tr>

 

 

</table>

 

 

<br />

 

 

<div id="OKCancelButtons">

 

 

<asp:Button ID="OKButton" runat="server" Text="OK" CssClass="button" OnClick="OKButton_Click" />

 

 

&nbsp;&nbsp;

 

 

<asp:Button ID="CancelButton" runat="server" Text="Cancel" CssClass="button" OnClientClick="window.close();" />

 

 

</div>

 

 

</telerik:RadPageView>

 

 

<telerik:RadPageView runat="server" ID="LogItemsPageView">

 

 

<asp:Button ID="btnReleases" runat="server" Text="Show More Releases" OnClick="btnReleases_Click" Visible="false" />

 

 

<br />

 

 

<telerik:RadGrid runat="server" ID="OpenReleasesRadGrid" Skin="WebBlue" AllowPaging="true"

 

 

AllowCustomPaging="false" EnableLinqExpressions="true" PageSize="15" AutoGenerateColumns="false"

 

 

EnableTheming="false" AllowFilteringByColumn="true" OnNeedDataSource="OpenReleasesRadGrid_NeedDataSource"

 

 

OnItemCommand="OpenReleasesRadGrid_ItemCommand">

 

 

<ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true" />

 

 

<PagerStyle Mode="NextPrevAndNumeric" />

 

 

<MasterTableView DataKeyNames="RELEASEID" CommandItemSettings-ShowAddNewRecordButton="false"

 

 

EditMode="PopUp" CommandItemDisplay="Top" CommandItemSettings-RefreshText="Refresh"

 

 

CommandItemSettings-RefreshImageUrl="~/App_Themes/GOLD Main/ToolBar/refresh_16x16.gif">

 

 

<Columns>

 

 

<telerik:GridBoundColumn DataField="RELEASENUMBER" HeaderText="Release #" FilterControlWidth="60px" />

 

 

<telerik:GridBoundColumn DataField="RELEASE1" HeaderText="Release #1" FilterControlWidth="100px" />

 

 

<telerik:GridBoundColumn DataField="DESTLOCATION" HeaderText="Destination" FilterControlWidth="110px" />

 

 

<telerik:GridDateTimeColumn DataField="SHIPDATE" HeaderText="Shipping Date" DataFormatString="{0:dd-MMM-yyyy}"

 

 

FilterControlWidth="100px" />

 

 

<telerik:GridBoundColumn DataField="RELBYCOMPANYNAME" HeaderText="Company" FilterControlWidth="110px" />

 

 

<telerik:GridBoundColumn DataField="TRUCKCARRIER" HeaderText="Carrier" FilterControlWidth="110px" />

 

 

<telerik:GridBoundColumn DataField="RELEASEDBY" HeaderText="Released By" FilterControlWidth="110px" />

 

 

<telerik:GridDateTimeColumn DataField="RELEASEDATE" HeaderText="Release Date" DataFormatString="{0:dd-MMM-yyyy}"

 

 

FilterControlWidth="100px" />

 

 

<telerik:GridBoundColumn DataField="DESTCITY" HeaderText="City" FilterControlWidth="80px" />

 

 

<telerik:GridBoundColumn DataField="DESTSTATE" HeaderText="State" HeaderStyle-Width="40px" />

 

 

</Columns>

 

 

</MasterTableView>

 

 

</telerik:RadGrid>

 

 

<telerik:RadGrid ID="ReleasedInventoryRadGrid" runat="server" AllowPaging="true" Visible="false"

 

 

AutoGenerateColumns="false" Skin="WebBlue" PageSize="8" EnableTheming="false"

 

 

AllowFilteringByColumn="true" OnItemDataBound="ReleasedInventoryRadGrid_ItemDataBound"

 

 

OnNeedDataSource="ReleasedInventoryRadGrid_NeedDataSource" Width="1800px" OnItemCreated="ReleasedInventoryRadGrid_ItemCreated"

 

 

AllowMultiRowSelection="true">

 

 

<GroupingSettings CaseSensitive="false" />

 

 

<PagerStyle Mode="NumericPages" />

 

 

<MasterTableView DataKeyNames="INVENTORYID,RELEASEDATE,RELEASEDBY,MATERIALDESCRIPTION,MATERIALTYPEID">

 

 

<HeaderStyle HorizontalAlign="Left" />

 

 

<Columns>

 

 

<telerik:GridTemplateColumn AllowFiltering="false" HeaderStyle-Width="30px" UniqueName="OptionsMenuCell"

 

 

ItemStyle-HorizontalAlign="Left" ItemStyle-Width="30px" ItemStyle-Wrap="false"

 

 

ItemStyle-VerticalAlign="Middle">

 

 

<ItemTemplate>

 

 

<asp:Image ID="RecordInfoImage" runat="server" ImageUrl="~/App_Themes/GOLD Main/Images/grid_info.gif"

 

 

CssClass="gridviewOptionsImage" />

 

 

<telerik:RadToolTip ID="InfoRadToolTip" runat="server" TargetControlID="RecordInfoImage"

 

 

Skin="Sunset" Position="MiddleRight" CssClass="gridviewToolTip" />

 

 

</ItemTemplate>

 

 

</telerik:GridTemplateColumn>

 

 

<telerik:GridTemplateColumn AllowFiltering="false" HeaderStyle-Width="20px" UniqueName="SelectionCheckBoxCell"

 

 

ItemStyle-HorizontalAlign="Left" ItemStyle-Width="20px" ItemStyle-Wrap="false"

 

 

ItemStyle-VerticalAlign="Middle">

 

 

<ItemTemplate>

 

 

<asp:CheckBox ID="RowSelectionCheckBox" runat="server" AutoPostBack="true" OnCheckedChanged="CheckBoxRowSelection" />

 

 

</ItemTemplate>

 

 

</telerik:GridTemplateColumn>

 

 

<telerik:GridTemplateColumn AllowFiltering="false" HeaderStyle-Width="50px" UniqueName="QtyOutColumn"

 

 

ItemStyle-HorizontalAlign="Left" ItemStyle-Width="50px" HeaderText="Qty Out">

 

 

<ItemTemplate>

 

 

<telerik:RadTextBox ID="QuantityOutGridTextBox" runat="server" Width="40px" CssClass="textbox"

 

 

Skin="WebBlue" AutoPostBack="true" OnTextChanged="TextBoxRowSelection" />

 

 

</ItemTemplate>

 

 

</telerik:GridTemplateColumn>

 

 

<telerik:GridBoundColumn DataField="RACKNUMBER" HeaderText="Rack Number" />

 

 

<telerik:GridBoundColumn DataField="WORKORDERITEMDISPLAY" HeaderText="Work Order"

 

 

HeaderStyle-Width="80px" FilterControlWidth="60px" />

 

 

<goldcustom:ComboBoxFilteringColumn DataField="MATERIALTYPE" HeaderText="Type" ReadOnly="true"

 

 

ComboBoxFilterDataSourceID="MaterialTypeFilterODS" ComboBoxFilterSkin="WebBlue"

 

 

ComboBoxFilterWidth="100px" HeaderStyle-Width="100px" />

 

 

<telerik:GridBoundColumn DataField="MATERIALCOLORBAND" HeaderText="Color" FilterControlWidth="60px" />

 

 

<telerik:GridBoundColumn DataField="ADJ_QTY" HeaderText="Qty" AllowFiltering="false"

 

 

ItemStyle-HorizontalAlign="Right" />

 

 

<telerik:GridBoundColumn DataField="ADJ_LENGTH" HeaderText="Length" AllowFiltering="false"

 

 

ItemStyle-HorizontalAlign="Right" />

 

 

<telerik:GridBoundColumn DataField="SIZEVALUE" HeaderText="Size" FilterControlWidth="40px" />

 

 

<telerik:GridBoundColumn DataField="WEIGHTPERLENGTH" HeaderText="Weight" FilterControlWidth="40px" />

 

 

<telerik:GridBoundColumn DataField="MATERIALGRADE" HeaderText="Grade" FilterControlWidth="40px" />

 

 

<telerik:GridBoundColumn DataField="RELEASENUMBER" HeaderText="Release #" FilterControlWidth="70px" />

 

 

<telerik:GridDateTimeColumn DataField="RELEASEDATE" HeaderText="Release Date" DataFormatString="{0:dd-MMM-yyyy}"

 

 

ReadOnly="true" FilterControlWidth="90px" />

 

 

</Columns>

 

 

</MasterTableView>

 

 

</telerik:RadGrid>

 

 

<br />

 

 

<asp:Panel ID="Panel2" runat="server" CssClass="detailsHeader" Width="100%">

 

Truck Log Items

 

</asp:Panel>

 

 

<telerik:RadGrid ID="TruckLogItemsRadGrid" runat="server" AllowPaging="false" AutoGenerateColumns="false"

 

 

Skin="WebBlue" EnableTheming="false" AllowFilteringByColumn="false" OnItemDataBound="TruckLogItemsRadGrid_ItemDataBound"

 

 

OnNeedDataSource="TruckLogItemsRadGrid_NeedDataSource" Width="100%" ShowStatusBar="true"

 

 

OnDeleteCommand="TruckLogItemsRadGrid_DeleteCommand" OnUpdateCommand="TruckLogItemsRadGrid_UpdateCommand">

 

 

<GroupingSettings CaseSensitive="false" />

 

 

<MasterTableView EditMode="InPlace" DataKeyNames="TRUCKLOGITEMID,AVGLENGTH,MATERIALRANGEID,MATERIALTYPE,JOINTCOUNT,TALLYCOUNT,CREATEDDATE,CREATEDBY,LASTUPDATED,LASTUPDATEDBY,MATERIALTYPEID,MATERIALDESCRIPTION">

 

 

<HeaderStyle HorizontalAlign="Left" />

 

 

<Columns>

 

 

<telerik:GridTemplateColumn AllowFiltering="false" HeaderStyle-Width="50px" UniqueName="OptionsMenuCell"

 

 

ItemStyle-HorizontalAlign="Left" ItemStyle-Width="50px" ItemStyle-Wrap="false">

 

 

<ItemTemplate>

 

 

<asp:Image ID="RecordInfoImage" runat="server" ImageUrl="~/App_Themes/GOLD Main/Images/grid_info.gif"

 

 

CssClass="gridviewOptionsImage" />

 

 

<telerik:RadToolTip ID="InfoRadToolTip" runat="server" TargetControlID="RecordInfoImage"

 

 

Skin="Sunset" Position="MiddleRight" CssClass="gridviewToolTip" />

 

 

<asp:Image ID="PopupMenuImage" runat="server" ImageUrl="~/App_Themes/GOLD Main/Images/grid_menu_popup.gif"

 

 

CssClass="gridviewOptionsImage" />

 

 

<telerik:RadContextMenu ID="OptionsRadContextMenu" runat="server" Skin="WebBlue"

 

 

CssClass="leftText">

 

 

<Targets>

 

 

<telerik:ContextMenuControlTarget ControlID="PopupMenuImage" />

 

 

</Targets>

 

 

<Items>

 

 

<telerik:RadMenuItem Text="Import From Tally-Rite Device" ImageUrl="../App_Themes/GOLD Main/ToolBar/save_16x16.gif" />

 

 

<telerik:RadMenuItem Text="Edit Tally Data" ImageUrl="../App_Themes/GOLD Main/ToolBar/save_16x16.gif" />

 

 

 

</Items>

 

 

</telerik:RadContextMenu>

 

 

<asp:ImageButton ID="DeleteItem" runat="server" ImageUrl="~/App_Themes/GOLD Main/ToolBar/trash_16x16.gif"

 

 

CommandName="Delete" CssClass="gridviewOptionsImage" OnClientClick="javascript:if(!confirm('This action will delete the selected truck log item. Are you sure?')){return false;}" />

 

 

 

</ItemTemplate>

 

 

</telerik:GridTemplateColumn>

 

 

<telerik:GridEditCommandColumn ButtonType="ImageButton" EditImageUrl="../App_Themes/GOLD Main/ToolBar/edit_16x16.gif"

 

 

CancelImageUrl="../App_Themes/GOLD Main/ToolBar/delete_16x16.gif" UpdateImageUrl="../App_Themes/GOLD Main/ToolBar/save_16x16.gif"

 

 

HeaderStyle-Width="60px" ItemStyle-CssClass="gridviewOptionsImage" ItemStyle-Wrap="false" />

 

 

<telerik:GridBoundColumn DataField="LOGITEM" HeaderText="#" HeaderStyle-Width="30px"

 

 

ReadOnly="true" />

 

 

<telerik:GridBoundColumn DataField="QTY" HeaderText="Qty" AllowFiltering="false"

 

 

ColumnEditorID="TextBoxColumnEditorDefault" />

 

 

<telerik:GridBoundColumn DataField="LENGTH" HeaderText="Length" HeaderStyle-Width="60px"

 

 

ColumnEditorID="TextBoxColumnEditorDefault" />

 

 

<telerik:GridBoundColumn DataField="RACKNUMBER" HeaderText="Rack #" HeaderStyle-Width="60px"

 

 

ColumnEditorID="TextBoxColumnEditorDefault" />

 

 

<telerik:GridBoundColumn DataField="TALLYCOUNT" HeaderText="Tally" HeaderStyle-Width="40px"

 

 

ReadOnly="true" />

 

 

<telerik:GridBoundColumn DataField="WORKORDERITEMDISPLAY" HeaderText="Work Order"

 

 

HeaderStyle-Width="80px" FilterControlWidth="60px" ReadOnly="true" />

 

 

<telerik:GridBoundColumn DataField="RELEASENUMBER" HeaderText="Release #" ReadOnly="true" />

 

 

<telerik:GridBoundColumn DataField="MATERIALTYPE" HeaderText="Type" HeaderStyle-Width="100px"

 

 

ReadOnly="true" />

 

 

<telerik:GridBoundColumn DataField="MATERIALCOLORBAND" HeaderText="Color" ReadOnly="true" />

 

 

<telerik:GridBoundColumn DataField="SIZEVALUE" HeaderText="Size" FilterControlWidth="40px"

 

 

ColumnEditorID="TextBoxColumnEditorDefault" />

 

 

<telerik:GridBoundColumn DataField="MATERIALCOATING" HeaderText="Coating" ReadOnly="true" />

 

 

<telerik:GridBoundColumn DataField="MATERIALTHREAD" HeaderText="Thread" ReadOnly="true" />

 

 

<telerik:GridBoundColumn DataField="MATERIALGRADE" HeaderText="Grade" ReadOnly="true" />

 

 

<telerik:GridBoundColumn DataField="MATERIALRANGE" HeaderText="Range" ReadOnly="true" />

 

 

</Columns>

 

 

</MasterTableView>

 

 

</telerik:RadGrid>

 

 

<br /><br />

 

 

<telerik:GridTextBoxColumnEditor ID="TextBoxColumnEditorDefault" runat="server" TextBoxStyle-Width="70px"

 

 

TextBoxStyle-CssClass="textbox" />

 

 

</telerik:RadPageView>

 

 

</telerik:RadMultiPage>

 

 

<asp:Label ID="lblError" runat="server" Font-Bold="true" ForeColor="Red" />

 

 

<input id="txtCurrentUser" runat="server" type="hidden" />

 

 

</div>

 

 

</telerik:RadAjaxPanel>

 

 

<input id="txtTallyRiteData" type="hidden" />

 

 

<div id="saxObj" runat="server" ></div>

 

 

 

 

<!-- ****** START Column Filter ObjectDataSources ****** -->

 

 

<asp:ObjectDataSource ID="WorkOrderTypeFilterODS" runat="server" SelectMethod="GetWorkOrderTypes"

 

 

TypeName="NOV.GOLD.Business.WorkOrdersBC" />

 

 

<asp:ObjectDataSource ID="MaterialTypeFilterODS" runat="server" SelectMethod="GetMaterialTypes"

 

 

TypeName="NOV.GOLD.Business.WorkOrdersBC" />

 

 

<asp:ObjectDataSource ID="WorkOrderItemStatusFilterODS" runat="server" SelectMethod="GetWorkOrderItemStatusMessages"

 

 

TypeName="NOV.GOLD.Business.WorkOrdersBC" />

 

 

<!-- ****** END Column Filter ObjectDataSources ****** -->

 

 

</form>

 

</

 

body>

 

</

 

html>


and the code behind:



 

using

 

System;

 

 

 

using

 

System.Collections.Generic;

 

 

 

using

 

System.Linq;

 

 

 

using

 

System.Web;

 

 

 

using

 

System.Web.UI;

 

 

 

using

 

System.Web.UI.WebControls;

 

 

 

using

 

NOV.GOLD.Business;

 

 

 

using

 

NOV.GOLD.Entities;

 

 

 

using

 

Telerik.Web;

 

 

 

using

 

Telerik.Web.UI;

 

 

 

using

 

System.Web.UI.HtmlControls;

 

 

 

 

 

namespace

 

NOV.GOLD.WebApp.Trucking

 

{

 

public partial class ShippingTruck : NOV.GOLD.BasePages.TruckingBasePage

 

{

 

public int ReleaseID

 

{

 

get { return Convert.ToInt32(ViewState["ReleaseID"]); }

 

 

set { ViewState["ReleaseID"] = value; }

 

}

 

protected void Page_Load(object sender, EventArgs e)

 

{

 

if (!IsPostBack)

 

{

 

 

// Set the text of the header labels

 

 

 

 

SetHeaderLabels();

 

// Set properties of the toolbar buttons

 

 

 

 

SetToolBarButtons();

 

// Fill in the form data for existing truck log

 

 

 

 

FillFormData();

txtCurrentUser.Value = CurrentUserName.ToUpper();

 

if (!IsNewTruckLog)

 

{

RadTab tab = (RadTab)TruckLogTabStrip.Tabs[1];

tab.Selected =

true;

 

RadPageView view = (RadPageView)TruckLogMultiPage.PageViews[1];

view.Selected =

true;

 

}

}

 

// Enable or disable controls

 

 

 

 

EnableDisableControls();

ReloadTruckLogItemsRadGrid();

//TO RELOAD THE GRID ON POST BACK

 

 

 

 

 

}

 

 

protected void OKButton_Click(object sender, EventArgs e)

 

{

UpdateTruckLog();

RadTab tab = (RadTab)TruckLogTabStrip.Tabs[1];

tab.Selected =

true;

 

RadPageView view = (RadPageView)TruckLogMultiPage.PageViews[1];

view.Selected =

true;

 

SetHeaderLabels();

SetToolBarButtons();

FillFormData();

EnableDisableControls();

 

using (TruckingBC tbc = new TruckingBC())

 

{

OpenReleasesRadGrid.DataSource = tbc.GetReleasedInventoryForTruckLog(DivisionIDArray);

OpenReleasesRadGrid.DataBind();

}

}

 

 

#region

 

TruckLogToolBar Event Methods

 

 

protected void TruckLogToolBar_ButtonClick(object sender, RadToolBarEventArgs e)

 

{

 

if (e.Item.Text == "Ship Selected" && ReleasedInventoryRadGrid.SelectedItems.Count > 0)

 

{

 

string batchdata = "";

 

 

foreach (GridDataItem dataItem in ReleasedInventoryRadGrid.SelectedItems)

 

{

 

string inventoryid = Convert.ToString(dataItem.OwnerTableView.DataKeyValues[dataItem.ItemIndex]["INVENTORYID"]);

 

 

string qtyout = (dataItem["QtyOutColumn"].FindControl("QuantityOutGridTextBox") as RadTextBox).Text;

 

 

if (!String.IsNullOrEmpty(qtyout))

 

{

batchdata += (inventoryid +

";" + qtyout + ";");

 

}

}

 

using (TruckingBC tbc = new TruckingBC())

 

{

tbc.BatchAddTruckLogItemsShipping(SelectedTruckLog.TruckLogID, batchdata, CurrentUserName);

}

ReleasedInventoryRadGrid.Rebind();

createSax();

TruckLogItemsRadGrid.Rebind();

}

}

 

 

#endregion

#region

 

ComboBox Methods

 

 

protected void CarrierComboBox_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e)

 

{

RadComboBox comboBox = (RadComboBox)sender;

 

using (TruckingBC tbc = new TruckingBC())

 

{

comboBox.DataSource = tbc.GetTruckCarriers(DivisionIDArray, e.Text.Replace(

"'", ""));

 

comboBox.DataBind();

}

}

 

protected void WitnessComboBox_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e)

 

{

RadComboBox comboBox = (RadComboBox)sender;

 

using (TruckingBC tbc = new TruckingBC())

 

{

comboBox.DataSource = tbc.GetThirdPartyWitnesses(DivisionIDArray, e.Text);

comboBox.DataBind();

}

}

 

 

#endregion

 

 

 

 

private void GetReleasedInventory()

 

{

 

using (TruckingBC tbc = new TruckingBC())

 

{

ReleasedInventoryRadGrid.DataSource = tbc.GetReleasedInventoryForTruckLog(SelectedTruckLog.TruckLogID, DivisionIDArray, ReleaseID);

ReleasedInventoryRadGrid.DataBind();

}

}

 

protected void btnReleases_Click(object sender, EventArgs e)

 

{

 

using (TruckingBC tbc = new TruckingBC())

 

{

OpenReleasesRadGrid.DataSource = tbc.GetReleasedInventoryForTruckLog(DivisionIDArray);

OpenReleasesRadGrid.DataBind();

OpenReleasesRadGrid.Visible =

true;

 

}

ReleasedInventoryRadGrid.Visible =

false;

 

btnReleases.Visible =

false;

 

}

 

 

#region

 

RadGrid NeedDataSources

 

 

protected void ReleasedInventoryRadGrid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)

 

{

 

if (ReleasedInventoryRadGrid.Visible)

 

{

 

using (TruckingBC tbc = new TruckingBC())

 

{

ReleasedInventoryRadGrid.DataSource = tbc.GetReleasedInventoryForTruckLog(SelectedTruckLog.TruckLogID, DivisionIDArray, ReleaseID);

}

}

}

 

protected void OpenReleasesRadGrid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)

 

{

 

using (TruckingBC tbc = new TruckingBC())

 

{

OpenReleasesRadGrid.DataSource = tbc.GetReleasedInventoryForTruckLog(DivisionIDArray);

}

}

 

//ONLY USED ON POST BACK

 

 

 

 

 

protected void ReloadTruckLogItemsRadGrid()

 

{

 

using (TruckingBC tbc = new TruckingBC())

 

{

createSax();

//WILL INITIALIZE THE TALLY RITE .EXE SOFTWARE

 

 

 

 

TruckLogItemsRadGrid.DataSource = tbc.GetTruckLogItemsShipping(SelectedTruckLog.TruckLogID);

TruckLogItemsRadGrid.DataBind();

}

}

 

protected void TruckLogItemsRadGrid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)

 

{

 

using (TruckingBC tbc = new TruckingBC())

 

{

TruckLogItemsRadGrid.DataSource = tbc.GetTruckLogItemsShipping(SelectedTruckLog.TruckLogID);

 

}

}

 

 

#endregion

#region

 

RadGrid ItemDataBound Methods

 

 

protected void ReleasedInventoryRadGrid_ItemDataBound(object sender, GridItemEventArgs e)

 

{

 

if (e.Item is GridDataItem)

 

{

GridDataItem boundItem = (GridDataItem)e.Item;

 

string inventoryid = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["INVENTORYID"]);

 

 

string releasedate = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["RELEASEDATE"]);

 

 

string releasedby = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["RELEASEDBY"]);

 

 

int materialtypeid = Convert.ToInt32(boundItem.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["MATERIALTYPEID"]);

 

 

string materialdesc = boundItem.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["MATERIALDESCRIPTION"].ToString();

 

 

if (materialtypeid == 7 || materialtypeid == 10)

 

{

 

// Remove columns that are not needed

 

 

 

 

boundItem[

"WEIGHTPERLENGTH"].Visible = false;

 

boundItem[

"MATERIALGRADE"].Visible = false;

 

 

// Set the text to the material description

 

 

 

 

boundItem[

"SIZEVALUE"].ColumnSpan = 3;

 

boundItem[

"SIZEVALUE"].Text = materialdesc;

 

}

 

// Format the tooltip for the record information

 

 

 

 

RadToolTip InfoToolTip = (RadToolTip)boundItem.Cells[0].FindControl(

"InfoRadToolTip");

 

InfoToolTip.Text =

"<b><u>Inventory ID</u></b><br/>" + inventoryid + "<br/><br/>" +

 

 

"<b><u>Released</u></b><br/>" + releasedate + "&nbsp;&nbsp;" + releasedby + "<br/>";

 

}

}

 

protected void TruckLogItemsRadGrid_ItemDataBound(object sender, GridItemEventArgs e)

 

{

 

if (e.Item is GridDataItem)

 

{

GridDataItem boundItem = (GridDataItem)e.Item;

 

string trucklogitemid = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["TRUCKLOGITEMID"]);

 

 

string createdate = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["CREATEDDATE"]);

 

 

string createdby = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["CREATEDBY"]);

 

 

string lastupdate = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["LASTUPDATED"]);

 

 

string lastupdateby = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["LASTUPDATEDBY"]);

 

 

int materialtypeid = Convert.ToInt32(boundItem.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["MATERIALTYPEID"]);

 

 

string materialdesc = boundItem.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["MATERIALDESCRIPTION"].ToString();

 

 

string myQty = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["QTY"]);

 

 

string jointCount = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["JOINTCOUNT"]);

 

 

string tallyCount = Convert.ToString(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["TALLYCOUNT"]);

 

 

if (materialtypeid == 7 || materialtypeid == 10)

 

{

 

// Remove columns that are not needed

 

 

 

 

boundItem[

"MATERIALCOATING"].Visible = false;

 

boundItem[

"MATERIALTHREAD"].Visible = false;

 

boundItem[

"MATERIALGRADE"].Visible = false;

 

boundItem[

"MATERIALRANGE"].Visible = false;

 

 

// Set the text to the material description

 

 

 

 

boundItem[

"SIZEVALUE"].ColumnSpan = 5;

 

boundItem[

"SIZEVALUE"].Text = materialdesc;

 

}

 

// Format the tooltip for the record information

 

 

 

 

RadToolTip InfoToolTip = (RadToolTip)boundItem.Cells[0].FindControl(

"InfoRadToolTip");

 

InfoToolTip.Text =

"<b><u>Truck Log Item ID</u></b><br/>" + trucklogitemid + "<br/><br/>" +

 

 

"<b><u>Created</u></b><br/>" + createdby + "&nbsp;&nbsp;" + createdate + "<br/><br/>" +

 

 

"<b><u>Last Updated</u></b><br/>" + lastupdateby + "&nbsp;&nbsp;" + lastupdate + "<br/>";

 

RadMenu RadPopupMenu = (RadMenu)e.Item.Cells[0].FindControl(

"OptionsRadContextMenu");

 

RadPopupMenu.Items[1].NavigateUrl =

String.Format("javascript:OpenAddTallyData({0},{1})", trucklogitemid, SelectedTruckLog.TruckLogID);

 

RadPopupMenu.Items[0].NavigateUrl =

String.Format("javascript:ImportTallyRite({0},{1},{2},{3})", jointCount, tallyCount, trucklogitemid, SelectedTruckLog.TruckLogID);

 

 

 

if (AllDivisions || IsViewOnly)

 

{

((ImageButton)e.Item.Cells[0].FindControl(

"DeleteItem")).Visible = false;

 

}

}

}

 

 

#endregion

#region

 

RadGrid Command Event Methods

 

 

protected void TruckLogItemsRadGrid_UpdateCommand(object sender, GridCommandEventArgs e)

 

{

GridEditableItem editItem = e.Item

as GridEditableItem;

 

 

int truckLogItemId = Convert.ToInt32(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["TRUCKLOGITEMID"]);

 

 

int qty = Convert.ToInt32((editItem["QTY"].Controls[0] as TextBox).Text);

 

 

decimal length = Convert.ToDecimal((editItem["LENGTH"].Controls[0] as TextBox).Text);

 

 

decimal avg = Convert.ToDecimal(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["AVGLENGTH"]);

 

 

int range = Convert.ToInt32(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["MATERIALRANGEID"]);

 

 

string materialtype = Convert.ToString(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["MATERIALTYPE"]);

 

 

//int retVal = 0;

 

 

 

 

 

switch (materialtype)

 

{

 

case "CPLG STOCK":

 

 

case "DRILL PIPE":

 

 

case "LINE PIPE":

 

 

case "PIPE":

 

 

case "PONY RODS":

 

 

case "PUP JOINTS":

 

 

case "SUCKER ROD":

 

length = GetShipCalculateLength(qty, length,avg);

 

break;

 

}

 

bool allGood = false;

 

 

double quantity = Convert.ToDouble(qty);

 

 

double len = Convert.ToDouble(length);

 

 

switch (materialtype)

 

{

 

case "DRILL PIPE":

 

 

case "PIPE":

 

 

case "PUP JOINTS":

 

allGood = IsLengthQuantityInTolerance(quantity, len, range);

 

break;

 

}

 

if (!allGood)

 

{

 

double avgLen = Math.Round(len / quantity * 100) / 100;

 

lblError.Text =

"Average length of " + avgLen + " is out of tolerance for specified range.";

 

}

 

else

 

 

 

 

{

 

if (truckLogItemId > 0 && qty > 0)

 

{

 

int retVal = 0;

 

 

using (TruckingBC tbc = new TruckingBC())

 

{

retVal = tbc.UpdateTruckLogItemShipping(truckLogItemId, qty, length, CurrentUserName);

}

 

if (retVal < 0)

 

{

 

using (AdminBC obj = new AdminBC())

 

{

lblError.Text = obj.returnErrorCode(retVal);

}

}

 

else

 

 

 

 

{

TruckLogItemsRadGrid.Rebind();

lblError.Text =

"";

 

}

}

}

}

 

protected void TruckLogItemsRadGrid_DeleteCommand(object sender, GridCommandEventArgs e)

 

{

 

string truckLogItemIdString = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["TRUCKLOGITEMID"].ToString();

 

 

if (!String.IsNullOrEmpty(truckLogItemIdString))

 

{

 

using (TruckingBC tbc = new TruckingBC())

 

{

 

int truckLogItemId = truckLogItemIdString.ToInt32();

 

tbc.DeleteTruckLogItem(truckLogItemId, CurrentUserName);

}

}

ReleasedInventoryRadGrid.Rebind();

TruckLogItemsRadGrid.Rebind();

}

 

 

#endregion

#region

 

RadGrid Item Selection Methods

 

 

protected void CheckBoxRowSelection(object sender, EventArgs e)

 

{

((sender

as CheckBox).Parent.Parent as GridItem).Selected = (sender as CheckBox).Checked;

 

}

 

protected void TextBoxRowSelection(object sender, EventArgs e)

 

{

((sender

as RadTextBox).Parent.Parent as GridItem).Selected = !String.IsNullOrEmpty((sender as RadTextBox).Text);

 

}

 

protected void ReleasedInventoryRadGrid_ItemCreated(object sender, GridItemEventArgs e)

 

{

 

if (e.Item is GridDataItem)

 

{

e.Item.PreRender +=

new EventHandler(ReleasedInventoryRadGrid_ItemPreRender);

 

}

}

 

private void ReleasedInventoryRadGrid_ItemPreRender(object sender, EventArgs e)

 

{

((sender

as GridDataItem)["SelectionCheckBoxCell"].FindControl("RowSelectionCheckBox") as CheckBox).Checked = (sender as GridDataItem).Selected;

 

}

 

 

 

protected void OpenReleasesRadGrid_ItemCommand(object sender, GridCommandEventArgs e)

 

{

 

if (e.CommandName == "RowClick" && e.Item is GridDataItem)

 

{

e.Item.Selected =

true;

 

GridDataItem boundItem = (GridDataItem)e.Item;

ReleaseID =

Convert.ToInt32(boundItem.OwnerTableView.DataKeyValues[boundItem.ItemIndex]["RELEASEID"]);

 

OpenReleasesRadGrid.Visible =

false;

 

ReleasedInventoryRadGrid.Visible =

true;

 

GetReleasedInventory();

btnReleases.Visible =

true;

 

}

}

 

 

#endregion

#region

 

Private Methods

 

 

private decimal GetShipCalculateLength(int qty, decimal length, decimal avg)

 

{

 

decimal newLength = Math.Round(100 * qty * avg) / 100;

 

 

if (Math.Round(newLength) != Math.Round(length))

 

length = newLength;

 

return length;

 

}

 

private bool IsLengthQuantityInTolerance(double quantity, double length, int range)

 

{

 

bool allGood = false;

 

 

double l;

 

 

double q;

 

 

int r;

 

 

double max = 0;

 

 

double min = 0;

 

l = length;

q = quantity;

r = range;

 

double conversion = (DivisionImperialSystem) ? 1 : 0.3048;

 

 

switch (range)

 

{

 

case 1:

 

min = 16 * conversion;

max = 25 * conversion;

 

//Range I: def = 21;

 

 

 

 

 

break;

 

 

case 2:

 

min = 25 * conversion;

max = 34 * conversion;

 

//Range II: def = 31.5;

 

 

 

 

 

break;

 

 

case 3:

 

min = 34 * conversion;

max = 48 * conversion;

 

//Range III: def = 41;

 

 

 

 

 

break;

 

 

default:

 

allGood =

true; //always pass if unrecognized range

 

 

 

 

 

break;

 

}

 

if (allGood)

 

 

return allGood;

 

 

return (l <= (max * q) && l >= (min * q));

 

}

 

private void SetHeaderLabels()

 

{

HeaderTitleLabel.Text = (IsNewTruckLog) ?

"New Shipping Truck" :

 

 

String.Format("Shipping Truck Log #: {0}", SelectedTruckLog.TruckLogNumber);

 

}

 

private void SetToolBarButtons()

 

{

 

if (!IsNewTruckLog)

 

{

 

// Set the NavigateURL for the exit truck button

 

 

 

 

(TruckLogToolBar.Items[8]

as RadToolBarButton).NavigateUrl =

 

 

String.Format("ExitTruck.aspx?trucklogid={0}", SelectedTruckLog.TruckLogID);

 

 

// Set the NavigateURL for the Print Unloading Authorization button

 

 

 

 

(TruckLogToolBar.Items[5]

as RadToolBarButton).NavigateUrl = String.Format("javascript:PrintReport_UnloadAuthorization({0})", SelectedTruckLog.TruckLogID);

 

}

}

 

private void EnableDisableControls()

 

{

 

int i; // Iterator variable

 

 

 

 

 

if (IsNewTruckLog)

 

{

 

for (i = 1; i < TruckLogToolBar.Items.Count; i++)

 

{

TruckLogToolBar.Items[i].Visible =

false;

 

}

TruckLogTabStrip.Tabs[1].Visible =

false;

 

TruckLogHeaderInfoTable.Visible =

false;

 

}

 

else

 

 

 

 

{

 

for (i = 1; i < TruckLogToolBar.Items.Count; i++)

 

{

TruckLogToolBar.Items[i].Visible =

true;

 

 

if (i == 2)

 

{

TruckLogToolBar.Items[i].Enabled = (TruckLogTabStrip.SelectedIndex == 1);

}

 

else

 

 

 

 

{

TruckLogToolBar.Items[i].Enabled =

true;

 

}

}

TruckLogTabStrip.Tabs[1].Visible =

true;

 

TruckLogHeaderInfoTable.Visible =

true;

 

}

 

// Enable/Disable controls if in view only mode

 

 

 

 

EnableDisableViewOnly();

}

 

private void EnableDisableViewOnly()

 

{

 

if (IsViewOnly || AllDivisions)

 

{

OKButton.Enabled = CancelButton.Enabled =

false; // OK and Cancel

 

 

 

 

 

// All toolbar buttons except Exit and Authorize

 

 

 

 

 

for (int i = 0; i < TruckLogToolBar.Items.Count; i++)

 

{

TruckLogToolBar.Items[i].Enabled = (i == 0 || i == 5);

}

 

// Truck log items grid edit column

 

 

 

 

TruckLogItemsRadGrid.Columns[1].Visible =

false;

 

}

}

 

private void FillFormData()

 

{

 

if (!IsNewTruckLog)

 

{

TruckTypeComboBox.SelectedValue = SelectedTruckLog.IsReceivingTruck ?

"-1" : "0";

 

DateInTextBox.Text = SelectedTruckLog.DateIn.Value.ToString();

DivisionTextBox.Text = SelectedTruckLog.LocationName;

CarrierComboBox.Text = SelectedTruckLog.TruckCarrier;

TruckNumberTextBox.Text = SelectedTruckLog.TruckNumber;

TruckDriverTextBox.Text = SelectedTruckLog.DriverName;

WitnessComboBox.Text = SelectedTruckLog.Witness;

TruckingCommentsTextBox.Text = SelectedTruckLog.Comments;

ReleaseCommentsTextBox.Text = SelectedTruckLog.ReleaseComments;

}

 

else

 

 

 

 

{

WitnessComboBox.Text =

"NO MONITOR REQUIRED";

 

}

}

 

private void UpdateTruckLog()

 

{

 

using (TruckingBC tbc = new TruckingBC())

 

{

TruckLog updatedTruckLog =

new TruckLog();

 

updatedTruckLog.TruckNumber = TruckNumberTextBox.Text;

updatedTruckLog.DriverName = TruckDriverTextBox.Text;

updatedTruckLog.IsReceivingTruck =

false;

 

updatedTruckLog.Witness = WitnessComboBox.Text;

updatedTruckLog.Comments = TruckingCommentsTextBox.Text;

 

// TODO: Shipping Truck - Add Late Departure Comments TextBox

 

 

 

 

updatedTruckLog.LateDepartureComments =

"";

 

updatedTruckLog.TruckCarrier = CarrierComboBox.Text;

//.Replace("'","'''");

 

 

 

 

updatedTruckLog.LocationID = DivisionID;

updatedTruckLog.LocationName = DivisionName;

updatedTruckLog.LastUpdatedBy = CurrentUserName.ToUpper();

 

if (IsNewTruckLog)

 

{

 

int newTruckLogId = tbc.AddTruckLog(updatedTruckLog);

 

SelectedTruckLog = tbc.GetTruckLog(newTruckLogId);

IsNewTruckLog =

false;

 

}

 

else

 

 

 

 

{

updatedTruckLog.TruckLogID = SelectedTruckLog.TruckLogID;

tbc.UpdateTruckLog(updatedTruckLog);

SelectedTruckLog = tbc.GetTruckLog(updatedTruckLog.TruckLogID);

}

}

}

 

 

#endregion

#region

 

TallyRiteDevice

 

 

////may Use System.Web.UI.ICallbackEventHandler

 

 

 

 

 

//THIS IS CALLLED FROM THE JAVASCRIPT SIDE OF TALLYRITE - MUST GO TO A STATIC METHOD - THEN CLASS HAS TO BE REFERENCED FROM IN HERE TO DO ANYTHING ELSE

 

 

 

 

[System.Web.Services.WebMethod]

 

public static void MachineProcessTally(int jointCount, string vData, int trucklogitemid,string myUser)

 

{

 

string tallyWBreaks = vData;

 

 

string tallyData = tallyWBreaks.Replace("\r\n", ";");

 

 

if (tallyData.EndsWith(";"))

 

{ }

 

else

 

 

 

 

{

tallyData = tallyData +

";";

 

}

 

using (TruckTalliesBC tt = new TruckTalliesBC())

 

{

 

int retVal = tt.tally_processmachinetally(trucklogitemid, tallyData, myUser);

 

}

}

 

 

//this will go into the Menu Item to open the tally rite Sax.exe

 

 

 

 

 

protected void createSax()//FILLS THE DIV CONTROL OUTSIDE THE AJAX PANEL WITH THE .EXE INITIALIZATION PROPERTIES

 

 

 

 

{

HtmlGenericControl sax =

new HtmlGenericControl();

 

 

 

 

 

//USED A DIV CONTROL OUTSIDE OF THE RAD AJAX PANEL AND RUN THIS WHEN THE GRID COMES UP

 

 

 

 

saxObj.InnerHtml =

"<OBJECT id='saxcomm8' style='DISPLAY:none' classid='clsid:4A037C55-D2A8-435E-B42E-1B25CDA784FA' VIEWASTEXT>"

 

 

 

 

+

"<PARAM NAME='_cx' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='_cy' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='Enabled' VALUE='-1'>"

 

 

 

 

+

"<PARAM NAME='Settings' VALUE='2400,n,8,1'>"

 

 

 

 

+

"<PARAM NAME='BackColor' VALUE='1'>"

 

 

 

 

+

"<PARAM NAME='Columns' VALUE='40'>"

 

 

 

 

+

"<PARAM NAME='AutoProcess' VALUE='2'>"

 

 

 

 

+

"<PARAM NAME='AutoScrollColumn' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='AutoScrollKeyboard' VALUE='-1'>"

 

 

 

 

+

"<PARAM NAME='AutoScrollRow' VALUE='-1'>"

 

 

 

 

+

"<PARAM NAME='AutoSize' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='BackSpace' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='CaptureFilename' VALUE=''>"

 

 

 

 

+

"<PARAM NAME='CaptureMode' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='CDTimeOut' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='ColorFilter' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='CommEcho' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='CommPort' VALUE='COM1'>"

 

 

 

 

+

"<PARAM NAME='CommSpy' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='CommSpyInput' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='CommSpyOutput' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='CommSpyProperties' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='CommSpyWarnings' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='CommSpyEvents' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='CTSTimeOut' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='DialMode' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='DialTimeOut' VALUE='60000'>"

 

 

 

 

+

"<PARAM NAME='DSRTimeOut' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='Echo' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='Emulation' VALUE='4'>"

 

 

 

 

+

"<PARAM NAME='EndOfLineMode' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='ForeColor' VALUE='15'>"

 

 

 

 

+

"<PARAM NAME='Handshaking' VALUE='4'>"

 

 

 

 

+

"<PARAM NAME='IgnoreOnComm' VALUE='-1'>"

 

 

 

 

+

"<PARAM NAME='InBufferSize' VALUE='16384'>"

 

 

 

 

+

"<PARAM NAME='InputEcho' VALUE='-1'>"

 

 

 

 

+

"<PARAM NAME='InputLen' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='InTimeOut' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='OutTimeOut' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='LookUpSeparator' VALUE='|'>"

 

 

 

 

+

"<PARAM NAME='LookUpText' VALUE=''>"

 

 

 

 

+

"<PARAM NAME='LookUpTimeOut' VALUE='10000'>"

 

 

 

 

+

"<PARAM NAME='NullDiscard' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='OutBufferSize' VALUE='16384'>"

 

 

 

 

+

"<PARAM NAME='ParityReplace' VALUE=''>"

 

 

 

 

+

"<PARAM NAME='Rows' VALUE='25'>"

 

 

 

 

+

"<PARAM NAME='RThreshold' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='RTSEnable' VALUE='-1'>"

 

 

 

 

+

"<PARAM NAME='ScrollRows' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='SThreshold' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='XferProtocol' VALUE='5'>"

 

 

 

 

+

"<PARAM NAME='XferStatusDialog' VALUE='2'>"

 

 

 

 

+

"<PARAM NAME='Font' VALUE='Terminal'>"

 

 

 

 

+

"<PARAM NAME='StatusbarVisible' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='ToolbarVisible' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='StatusDialog' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='UseTAPI' VALUE='-1'>"

 

 

 

 

+

"<PARAM NAME='BorderStyle' VALUE='1'>"

 

 

 

 

+

"<PARAM NAME='SerialNumber' VALUE='1180-3384071-11'>"

 

 

 

 

+

"<PARAM NAME='PhoneNumber' VALUE=''>"

 

 

 

 

+

"<PARAM NAME='ProjectFilename' VALUE=''>"

 

 

 

 

+

"<PARAM NAME='CommSpyTransfer' VALUE='0'>"

 

 

 

 

+

"<PARAM NAME='AutoZModem' VALUE='-1'>"

 

 

 

 

+

"</OBJECT>";

 

 

}

 

 

 

#endregion

 

 

 

}

}


and a copy of the error in .jpg

0
Vasil
Telerik team
answered on 18 Jul 2011, 03:37 PM
Hi Rik,

You shouldn't call ReloadTruckLogItemsRadGrid() in the Page_Load.

I also see that you are mixing Simple Data-binding with Advanced Data-binding, you should never call DataBind() when using advanced data-binding.

What is happening in your code is that on Page_Load the grid is bound with new data, which cause new buttons to be created inside the grid. The event is fired from the old button that no longer exist and this result in event validation error.

Remove the sample binding, make sure not to rebind the grid on Page_load and the issue should be resolved.

All the best,
Vasil
the Telerik team

Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

0
rik butcher
Top achievements
Rank 1
answered on 18 Jul 2011, 03:46 PM
wow. that was totally it. thank you guys so much for that. i had used that for something else entirely and never thought it would affect anything else.
you've saved me a  ton of time on this.
once again. many many thanks
rik
Tags
Grid
Asked by
rik butcher
Top achievements
Rank 1
Answers by
Vasil
Telerik team
rik butcher
Top achievements
Rank 1
Share this question
or