or
RadGrid1.ClientSettings.AllowColumnsReorder =
True
Hi,
I am using below source code the grid is working very slow. But the data from DB is fetching very fast less then a sec.
Please suggest for a fix! Thanks
<%@ Page Language="VB" MasterPageFile="~/Views/Common/PTRMasterPage.master" AutoEventWireup="false"
CodeFile="ActivityMaster.aspx.vb" Inherits="Views_Masters_ActivityMaster" Title="Activity Master"
StylesheetTheme="PetrofacSkin" %>
<%@ Register Namespace="PTRCustomClasses" TagPrefix="custom" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"ContentPlaceHolder1"
runat
=
"Server"
>
<
script
src
=
"../../JScript/jquery-1.7.2.min.js"
type
=
"text/javascript"
></
script
>
<
script
src
=
"../../JScript/jquery-ui-1.8.19.custom.min.js"
type
=
"text/javascript"
></
script
>
<
script
src
=
"../../JScript/jquery.history.js"
type
=
"text/javascript"
></
script
>
<
script
src
=
"../../JScript/jquery.tooltip.js"
type
=
"text/javascript"
></
script
>
<
script
src
=
"../../JScript/scriptbreaker-multiple-accordion.js"
type
=
"text/javascript"
></
script
>
<
telerik:RadCodeBlock
ID
=
"RadCodeBlock1"
runat
=
"server"
>
<
script
language
=
"javascript"
type
=
"text/javascript"
>
function onRequestStart(sender, args) {
//debugger;
if ((args.get_eventTarget().indexOf("ExportToExcel") > 0))
args.set_enableAjax(false);
}
</
script
>
<
style
type
=
"text/css"
>
.AjaxLoading
{
background-repeat: no-repeat;
background-position: center;
}
</
style
>
</
telerik:RadCodeBlock
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"ddlMethodology"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"PanelStatusLabel"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Height
=
"75px"
Width
=
"75px"
Transparency
=
"5"
>
<
img
style
=
"margin-top: 350px;"
alt
=
"Loading..."
src
=
"../../Images/Telerik Images/Ajax/loading7.gif"
/>
<%-- <
asp:Image
id
=
"Image1"
runat
=
"server"
style
=
"margin-top: 350px;"
ImageUrl
=
"~/Images/Telerik%20Images/Ajax/loading3.gif"
alternatetext
=
"Loading..."
>
ImageUrl="~/Ajax/Img/loading1.gif"
</
asp:Image
>
--%>
</
telerik:RadAjaxLoadingPanel
>
<%-- <
telerik:RadAjaxLoadingPanel
ID
=
"LoadingPanel1"
runat
=
"server"
>
</
telerik:RadAjaxLoadingPanel
>--%>
<
div
id
=
"divCont01"
style
=
"display: block; width: 99%"
>
<
table
cellpadding
=
"0"
cellspacing
=
"5"
>
<
tr
>
<
td
width
=
"15%"
>
<
asp:Label
ID
=
"Label5"
CssClass
=
"labelStyle"
Font-Bold
=
"true"
Text
=
"Methodology"
runat
=
"server"
></
asp:Label
>
</
td
>
<
td
width
=
"75%"
>
<
asp:DropDownList
ID
=
"ddlMethodology"
runat
=
"server"
AppendDataBoundItems
=
"True"
TabIndex
=
"3"
CssClass
=
"dropdownStylePTR"
AutoPostBack
=
"True"
>
</
asp:DropDownList
>
</
td
>
<%-- <
td
width
=
"10%"
>
<
asp:Button
ID
=
"btnExport2Excel"
runat
=
"server"
Text
=
"Export Activiites to Excel"
CssClass
=
"buttonStyle"
Visible
=
"True"
/>
<
br
/>
</
td
>--%>
</
tr
>
</
table
>
</
div
>
<
br
/>
<
telerik:RadAjaxPanel
ID
=
"radAjaxMainPanel"
runat
=
"server"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
ClientEvents-OnRequestStart
=
"onRequestStart"
>
<
div
id
=
"divCont02"
style
=
"display: block; width: 99%"
>
<
table
style
=
"width: 100%;"
>
<
tr
>
<
td
style="vertical-align: top; padding-top: 0px; padding-bottom: 0px; padding-left: 0px;
border-top-width: 0px;">
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AllowPaging
=
"True"
AllowSorting
=
"True"
Skin
=
"Office2007"
AllowFilteringByColumn
=
"True"
ShowStatusBar
=
"false"
PageSize
=
"12"
Width
=
"95%"
>
<
PagerStyle
Mode
=
"NextPrevNumericAndAdvanced"
AlwaysVisible
=
"true"
/>
<
MasterTableView
BorderWidth
=
"0"
DataKeyNames
=
"ACT_ID"
EditMode
=
"PopUp"
AutoGenerateColumns
=
"False"
CommandItemDisplay
=
"Top"
CommandItemSettings-AddNewRecordText
=
"Add New Activity"
>
<
NoRecordsTemplate
>
<
div
style
=
"width: 300px;"
>
There are no records to display</
div
>
</
NoRecordsTemplate
>
<
CommandItemTemplate
>
<
table
width
=
"100%"
>
<
tr
>
<
td
style
=
"text-align: left; width: 30%"
>
<
img
style
=
"border: 0px"
alt
=
""
src
=
"../../Images/Telerik%20Images/AddRecord.gif"
/>
<
asp:LinkButton
ID
=
"btnAdd"
Text
=
"Add New Activity"
CommandName
=
"InitInsert"
runat
=
"server"
>
</
asp:LinkButton
>
</
td
>
<
td
style
=
"text-align: right;"
>
<
asp:LinkButton
runat
=
"server"
ID
=
"LinkButton1"
Text
=
"Clear Filters"
CommandName
=
"ClearFilters"
/>
<
img
style
=
"border: 0px"
alt
=
""
src
=
"../../Images/Telerik%20Images/Refresh.gif"
/>
<
asp:LinkButton
ID
=
"btnRefresh"
Text
=
"Refresh"
CommandName
=
"Rebind"
runat
=
"server"
>
</
asp:LinkButton
>
<
asp:Image
ID
=
"Image1"
runat
=
"server"
AlternateText
=
"Add"
ImageUrl
=
"~/Images/Telerik Images/GridExportToExcel.gif"
/>
<
asp:LinkButton
ID
=
"lnkBtnExportToExcel"
CssClass
=
"lnkMedium"
runat
=
"server"
Text
=
"Export to Excel"
OnClick
=
"btnExport2Excel_Click"
></
asp:LinkButton
>
</
td
>
</
tr
>
</
table
>
</
CommandItemTemplate
>
<
Columns
>
<
telerik:GridButtonColumn
UniqueName
=
"EditColumn"
Text
=
"Edit"
CommandName
=
"Edit"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"42px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"42px"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
UniqueName
=
"DeleteColumn"
Text
=
"Delete"
CommandName
=
"Delete"
ConfirmText
=
"Are you sure to Delete the Record?'"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Delete"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"55px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"55px"
/>
</
telerik:GridButtonColumn
>
<
telerik:GridBoundColumn
DataField
=
"ACT_CODE"
HeaderText
=
"Act Code"
SortExpression
=
"ACT_CODE"
UniqueName
=
"ACT_CODE"
FilterListOptions
=
"VaryByDataType"
FilterControlWidth
=
"65%"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"110px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"110px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ACT_DESC"
HeaderText
=
"Act Description"
SortExpression
=
"ACT_DESC"
UniqueName
=
"ACT_DESC"
FilterListOptions
=
"VaryByDataType"
FilterControlWidth
=
"90%"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"350px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"350px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ACT_WF"
DataType
=
"System.Decimal"
HeaderText
=
"Act Wt.Factor"
SortExpression
=
"ACT_WF"
UniqueName
=
"ACT_WF"
FilterListOptions
=
"VaryByDataType"
FilterControlWidth
=
"74%"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"115px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"115px"
/>
</
telerik:GridBoundColumn
>
<
custom:rgCustomCol_Filter_Dropdown
HeaderText
=
"Department"
DataField
=
"DEPT_DESC"
SortExpression
=
"DEPT_DESC"
UniqueName
=
"DEPT_DESC_FILTER"
HeaderStyle-HorizontalAlign
=
"Center"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"142px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"142px"
/>
</
custom:rgCustomCol_Filter_Dropdown
>
<
custom:rgCustomCol_Filter_Dropdown
HeaderText
=
"Milestone"
DataField
=
"MLSTN_NAME"
SortExpression
=
"MLSTN_NAME"
UniqueName
=
"MLSTN_NAME_FILTER"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"499px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"499px"
/>
</
custom:rgCustomCol_Filter_Dropdown
>
<
telerik:GridDateTimeColumn
DataField
=
"ACT_EARLY_START_DT"
HeaderText
=
"Early Start Dt"
SortExpression
=
"ACT_EARLY_START_DT"
UniqueName
=
"ACT_EARLY_START_DT"
FilterControlWidth
=
"75%"
DataFormatString
=
"{0:dd/MM/yyyy}"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"105px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"105px"
/>
</
telerik:GridDateTimeColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"ACT_EARLY_FINISH_DT"
DataFormatString
=
"{0:dd/MM/yyyy}"
DataType
=
"System.DateTime"
HeaderText
=
"Early Finish Dt"
SortExpression
=
"ACT_EARLY_FINISH_DT"
UniqueName
=
"ACT_EARLY_FINISH_DT"
FilterListOptions
=
"VaryByDataType"
FilterControlWidth
=
"75%"
PickerType
=
"DatePicker"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"105px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"105px"
/>
</
telerik:GridDateTimeColumn
>
<
telerik:GridBoundColumn
DataField
=
"ACT_EARNED_WT"
DataType
=
"System.Decimal"
HeaderText
=
"Earned Wt"
SortExpression
=
"ACT_EARNED_WT"
UniqueName
=
"ACT_EARNED_WT"
FilterListOptions
=
"VaryByDataType"
FilterControlWidth
=
"50%"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"82px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"82px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ACT_PROGRESS_PERC"
DataType
=
"System.Decimal"
HeaderText
=
"% Prog."
SortExpression
=
"ACT_PROGRESS_PERC"
UniqueName
=
"ACT_PROGRESS_PERC"
FilterListOptions
=
"VaryByDataType"
FilterControlWidth
=
"50%"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"65px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"65px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"Start_DT1"
HeaderText
=
"Start DT1"
SortExpression
=
"Start_DT1"
UniqueName
=
"Start_DT1"
FilterControlWidth
=
"75%"
DataFormatString
=
"{0:dd/MM/yyyy}"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"78px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"78px"
/>
</
telerik:GridDateTimeColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"END_DT1"
HeaderText
=
"End DT1"
SortExpression
=
"END_DT1"
UniqueName
=
"END_DT1"
ItemStyle-Wrap
=
"true"
FilterControlWidth
=
"75%"
DataFormatString
=
"{0:dd/MM/yyyy}"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"78px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"78px"
/>
</
telerik:GridDateTimeColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"Start_DT2"
HeaderText
=
"Start DT2"
SortExpression
=
"Start_DT2"
UniqueName
=
"Start_DT2"
FilterControlWidth
=
"75%"
DataFormatString
=
"{0:dd/MM/yyyy}"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"78px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"78px"
/>
</
telerik:GridDateTimeColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"END_DT2"
HeaderText
=
"End DT2"
SortExpression
=
"END_DT2"
UniqueName
=
"END_DT2"
FilterControlWidth
=
"75%"
DataFormatString
=
"{0:dd/MM/yyyy}"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"78px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"78px"
/>
</
telerik:GridDateTimeColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"Start_DT3"
HeaderText
=
"Start DT3"
SortExpression
=
"Start_DT3"
UniqueName
=
"Start_DT3"
FilterControlWidth
=
"75%"
DataFormatString
=
"{0:dd/MM/yyyy}"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"78px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"78px"
/>
</
telerik:GridDateTimeColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"END_DT3"
HeaderText
=
"End DT3"
SortExpression
=
"END_DT3"
UniqueName
=
"END_DT3"
FilterControlWidth
=
"75%"
DataFormatString
=
"{0:dd/MM/yyyy}"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"78px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"78px"
/>
</
telerik:GridDateTimeColumn
>
<
telerik:GridBoundColumn
DataField
=
"WBS_Code"
HeaderText
=
"WBS Code"
SortExpression
=
"WBS_Code"
UniqueName
=
"WBS_Code"
FilterControlWidth
=
"75%"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"100px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"100px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ServiceMH"
HeaderText
=
"ServiceMH"
SortExpression
=
"ServiceMH"
UniqueName
=
"ServiceMH"
FilterControlWidth
=
"75%"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"100px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"100px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Budget_Cost"
HeaderText
=
"Budget Cost"
SortExpression
=
"Budget_Cost"
UniqueName
=
"Budget_Cost"
FilterControlWidth
=
"75%"
>
<
ItemStyle
Wrap
=
"false"
Width
=
"100px"
/>
<
HeaderStyle
HorizontalAlign
=
"Left"
Wrap
=
"false"
Font-Size
=
"8pt"
Width
=
"100px"
/>
</
telerik:GridBoundColumn
>
</
Columns
>
<
EditFormSettings
PopUpSettings-Width
=
"48%"
EditFormType
=
"Template"
ColumnNumber
=
"2"
CaptionDataField
=
"ACT_CODE"
EditColumn-HeaderText
=
"Activity Details:"
CaptionFormatString
=
"{0}"
PopUpSettings-Modal
=
"true"
>
<
FormTemplate
>
<
table
id
=
"Table1"
width
=
"100%"
cellspacing
=
"1"
cellpadding
=
"1"
border
=
"0"
>
<
tr
>
<
td
>
Activity Code:
</
td
>
<
td
>
<
asp:TextBox
ID
=
"txtActCode"
runat
=
"server"
Text='<%# Eval("ACT_CODE") %>' MaxLength="20"
Width="80" TabIndex="1" CssClass="textboxStyle">
</
asp:TextBox
>
<
span
id
=
"spanrfd1"
style
=
"color: red;"
>*</
span
>
<
asp:RequiredFieldValidator
ID
=
"RequiredFieldValidator1"
ControlToValidate
=
"txtActCode"
ErrorMessage
=
"Activity Code is required!!"
runat
=
"server"
Display
=
"Dynamic"
Text
=
"*"
>
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Description:
</
td
>
<
td
>
<
asp:TextBox
ID
=
"txtActDesc"
runat
=
"server"
Text='<%# Eval("ACT_DESC") %>' TabIndex="2"
MaxLength="255" Width="255" CssClass="multitextboxStyle" TextMode="MultiLine">
</
asp:TextBox
>
<
span
id
=
"span1"
style
=
"color: red;"
>*</
span
>
<
asp:RequiredFieldValidator
ID
=
"RequiredFieldValidator2"
ControlToValidate
=
"txtActDesc"
ErrorMessage
=
"Activity Description is required!!"
runat
=
"server"
Display
=
"Dynamic"
Text
=
"*"
>
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Weight Factor:
</
td
>
<
td
>
<
asp:TextBox
ID
=
"txtActWf"
runat
=
"server"
Text='<%# Eval("ACT_WF") %>' MaxLength="9"
Width="60" TabIndex="3" CssClass="textboxStyle">
</
asp:TextBox
>
<
span
id
=
"span2"
style
=
"color: red;"
>*</
span
>
<
asp:RequiredFieldValidator
ID
=
"RequiredFieldValidator3"
ControlToValidate
=
"txtActWf"
ErrorMessage
=
"Activity Weight Factor is required!!"
runat
=
"server"
Display
=
"Dynamic"
Text
=
"*"
>
</
asp:RequiredFieldValidator
>
<
asp:CompareValidator
runat
=
"server"
ID
=
"comvali1"
ControlToValidate
=
"txtActWf"
Type
=
"Double"
Operator
=
"LessThanEqual"
ValueToCompare
=
"999999999"
ErrorMessage
=
"Weight Factor Should be a Positive Number & Limited Upto 9 Digits!!"
Text
=
"Invalid!!"
Display
=
"Dynamic"
></
asp:CompareValidator
>
<
asp:CompareValidator
runat
=
"server"
ID
=
"comvali2"
ControlToValidate
=
"txtActWf"
Type
=
"Double"
Operator
=
"GreaterThanEqual"
ValueToCompare
=
"0"
ErrorMessage
=
"Weight Factor Should be a Positive Number & Limited Upto 9 Digits!!"
Text
=
"Invalid!!"
Display
=
"Dynamic"
></
asp:CompareValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Department:
</
td
>
<
td
>
<
asp:DropDownList
ID
=
"ddlDept"
runat
=
"server"
Style
=
"z-index: 1;"
SelectedValue='<%# Bind("DEPT_ID") %>'
AppendDataBoundItems="True" TabIndex="4" CssClass="dropdownStyle">
<
asp:ListItem
Selected
=
"True"
Text
=
"Select"
Value
=
""
></
asp:ListItem
>
</
asp:DropDownList
>
<
span
id
=
"span3"
style
=
"color: red;"
>*</
span
>
<
asp:RequiredFieldValidator
ID
=
"RequiredFieldValidator4"
ControlToValidate
=
"ddlDept"
ErrorMessage
=
"Department is required!!"
runat
=
"server"
Display
=
"Dynamic"
Text
=
"*"
>
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
>
MileStone:
</
td
>
<
td
>
<
asp:DropDownList
ID
=
"ddlMileStone"
runat
=
"server"
SelectedValue='<%# Bind("MLSTN_ID") %>'
AppendDataBoundItems="True" TabIndex="5" CssClass="dropdownStyle">
<
asp:ListItem
Selected
=
"True"
Text
=
"Select"
Value
=
""
></
asp:ListItem
>
</
asp:DropDownList
>
<
span
id
=
"span4"
style
=
"color: red;"
>*</
span
>
<
asp:RequiredFieldValidator
ID
=
"RequiredFieldValidator5"
ControlToValidate
=
"ddlMileStone"
ErrorMessage
=
"Milestone is required!!"
runat
=
"server"
Display
=
"Dynamic"
Text
=
"*"
>
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
>
Early Start Date:
</
td
>
<
td
>
<%--SelectedDate='<%# IIF (TypeOf Container is GridEditFormInsertItem, Now.Today , Eval("ACT_EARLY_START_DT")) %>'--%>
<
telerik:RadDatePicker
ID
=
"RdpESdt"
runat
=
"server"
SelectedDate='<%# IIf(TypeOf Container Is GridEditFormInsertItem, Now.Today, IIf(IsDBNull(Eval("ACT_EARLY_START_DT")), Nothing, Eval("ACT_EARLY_START_DT"))) %>'>
<
DateInput
ID
=
"DateInput2"
runat
=
"server"
TabIndex
=
"6"
DateFormat
=
"dd/MM/yyyy"
>
</
DateInput
>
</
telerik:RadDatePicker
>
<%-- <
span
id
=
"span5"
style
=
"color: red;"
>*</
span
>
<
asp:RequiredFieldValidator
ID
=
"RequiredFieldValidator6"
ControlToValidate
=
"RdpESdt"
ErrorMessage
=
"Early Start Date is required"
runat
=
"server"
Display
=
"Dynamic"
Text
=
"*"
>
</
asp:RequiredFieldValidator
>--%>
</
td
>
</
tr
>
<
tr
>
<
td
>
Early Finish Date:
</
td
>
<
td
>
<
telerik:RadDatePicker
ID
=
"RdpEFdt"
runat
=
"server"
TabIndex
=
"7"
SelectedDate='<%# IIf(TypeOf Container Is GridEditFormInsertItem, Now.Today, IIf(IsDBNull(Eval("ACT_EARLY_FINISH_DT")), Nothing, Eval("ACT_EARLY_FINISH_DT"))) %>'>
<
DateInput
ID
=
"DateInput1"
runat
=
"server"
DateFormat
=
"dd/MM/yyyy"
>
</
DateInput
>
</
telerik:RadDatePicker
>
<%-- <
span
id
=
"span6"
style
=
"color: red;"
>*</
span
>
<
asp:RequiredFieldValidator
ID
=
"RequiredFieldValidator7"
ControlToValidate
=
"RdpEFdt"
ErrorMessage
=
"Early Finish Date is required!!"
runat
=
"server"
Display
=
"Dynamic"
Text
=
"*"
>
</
asp:RequiredFieldValidator
>
<
asp:CompareValidator
ID
=
"CompareValidator1"
runat
=
"server"
ErrorMessage
=
"Early Finish Date Should be More than Early Start Date!!"
ControlToCompare
=
"RdpESdt"
ControlToValidate
=
"RdpEFdt"
Operator
=
"GreaterThan"
Text
=
"Invalid!!"
Display
=
"Dynamic"
> </
asp:CompareValidator
>--%>
</
td
>
</
tr
>
</
table
>
<
table
style
=
"width: 100%"
>
<
tr
>
<
td
style
=
"text-align: center"
colspan
=
"2"
>
<
asp:Button
ID
=
"Button1"
Text='<%# IIF (TypeOf Container is GridEditFormInsertItem, "Insert", "Update") %>'
runat="server" CommandName='<%# Iif (TypeOf Container is GridEditFormInsertItem, "PerformInsert", "Update") %>'
CssClass="gridButtonColStyle"></
asp:Button
>
<
asp:Button
ID
=
"Button2"
Text
=
"Cancel"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
CssClass
=
"gridButtonColStyle"
></
asp:Button
>
</
td
>
</
tr
>
</
table
>
<
asp:ValidationSummary
ID
=
"ValidationSummary1"
runat
=
"server"
ShowMessageBox
=
"true"
ShowSummary
=
"false"
/>
</
FormTemplate
>
<
PopUpSettings
Modal
=
"True"
></
PopUpSettings
>
</
EditFormSettings
>
</
MasterTableView
>
<
HeaderStyle
Height
=
"1%"
/>
<
ValidationSettings
CommandsToValidate
=
"PerformInsert,Update"
/>
<
StatusBarSettings
LoadingText
=
"Loading... Please wait!"
ReadyText
=
"Ready.."
/>
<
ExportSettings
>
<
Pdf
FontType
=
"Subset"
PaperSize
=
"Letter"
/>
<
Excel
Format
=
"ExcelML"
FileExtension
=
".xls"
/>
<
Csv
ColumnDelimiter
=
"Colon"
RowDelimiter
=
"NewLine"
/>
</
ExportSettings
>
<
ClientSettings
AllowColumnsReorder
=
"True"
>
<
Selecting
AllowRowSelect
=
"True"
/>
<
Scrolling
AllowScroll
=
"true"
SaveScrollPosition
=
"true"
UseStaticHeaders
=
"True"
ScrollHeight
=
"250px"
/>
<%-- <
Resizing
AllowColumnResize
=
"true"
/>--%>
</
ClientSettings
>
<
FilterMenu
EnableTheming
=
"True"
>
<
CollapseAnimation
Type
=
"OutQuint"
Duration
=
"200"
></
CollapseAnimation
>
</
FilterMenu
>
</
telerik:RadGrid
>
</
td
>
</
tr
>
</
table
>
</
div
>
</
telerik:RadAjaxPanel
>
<
telerik:RadAjaxPanel
ID
=
"PanelStatusLabel"
runat
=
"server"
>
</
telerik:RadAjaxPanel
>
</
asp:Content
>
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="InputFormFundsBreakdown.ascx.cs"
Inherits="Controls_InputFormFundsBreakdown" %>
<
table
align
=
"left"
cellpadding
=
"5"
width
=
"100%"
>
<
tr
>
<
td
align
=
"center"
colspan
=
"2"
>
<
h3
>
Funds Breakdown
<
asp:Image
ID
=
"imgFundsHelp"
runat
=
"server"
ImageUrl
=
"~/Images/help.png"
/>
<
telerik:RadToolTip
ID
=
"tipFundsHelp"
runat
=
"server"
HideEvent
=
"LeaveTargetAndToolTip"
Position
=
"TopRight"
TargetControlID
=
"imgFundsHelp"
>
Help goes here
</
telerik:RadToolTip
>
</
h3
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
>
<
asp:Label
ID
=
"errFundsMessage"
runat
=
"server"
ForeColor
=
"Red"
></
asp:Label
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
>
<
telerik:RadGrid
ID
=
"grdFunds"
runat
=
"server"
AutoGenerateColumns
=
"False"
OnDataBound
=
"grdFunds_DataBound"
OnNeedDataSource
=
"grdFunds_NeedDataSource"
>
<
MasterTableView
DataKeyNames
=
"RowNumber"
AlternatingItemStyle-BackColor
=
"#DAE2E8"
>
<
ItemStyle
VerticalAlign
=
"Top"
/>
<
Columns
>
<
telerik:GridTemplateColumn
HeaderText
=
"Fund Name"
>
<
ItemTemplate
>
<
telerik:RadTextBox
ID
=
"txtFundName"
runat
=
"server"
MaxLength
=
"100"
Width
=
"85px"
Text='<%# Eval("FundName")%>'>
</
telerik:RadTextBox
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"* Fund Number"
>
<
ItemTemplate
>
<
telerik:RadTextBox
ID
=
"txtFundNumber"
runat
=
"server"
Width
=
"85px"
MaxLength
=
"100"
Text='<%# Eval("FundNumber")%>'>
<
ClientEvents
OnKeyPress
=
"NumericOnly"
/>
</
telerik:RadTextBox
>
<
br
/>
<
asp:Label
ID
=
"errFundNumber"
runat
=
"server"
ForeColor
=
"Red"
></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"* Account"
>
<
ItemTemplate
>
<
telerik:RadTextBox
ID
=
"txtAccount"
runat
=
"server"
Width
=
"85px"
MaxLength
=
"100"
Text='<%# Eval("Account")%>'>
</
telerik:RadTextBox
>
<
br
/>
<
asp:Label
ID
=
"errAccount"
runat
=
"server"
ForeColor
=
"Red"
></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Subledger"
>
<
ItemTemplate
>
<
telerik:RadTextBox
ID
=
"txtSubledger"
runat
=
"server"
Width
=
"85px"
MaxLength
=
"100"
Text='<%# Eval("Subledger")%>'>
<
ClientEvents
OnKeyPress
=
"NumericOnly"
/>
</
telerik:RadTextBox
>
<
br
/>
<
asp:Label
ID
=
"errSubledger"
runat
=
"server"
ForeColor
=
"Red"
></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"T Code"
>
<
ItemTemplate
>
<
asp:HiddenField
ID
=
"hdnTCode"
runat
=
"server"
Value='<%# Eval("TCode")%>' />
<
telerik:RadDropDownList
ID
=
"ddlTCode"
runat
=
"server"
Width
=
"40px"
>
<
Items
>
<
telerik:DropDownListItem
Value
=
""
Text
=
" "
/>
<
telerik:DropDownListItem
Value
=
"W"
Text
=
"W"
/>
<
telerik:DropDownListItem
Value
=
"A"
Text
=
"A"
/>
</
Items
>
</
telerik:RadDropDownList
>
<
br
/>
<
asp:Label
ID
=
"errTCode"
runat
=
"server"
ForeColor
=
"Red"
></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"* Amount"
>
<
ItemTemplate
>
<
telerik:RadNumericTextBox
ID
=
"txtFundAmount"
runat
=
"server"
DataType
=
"System.Decimal"
Width
=
"85px"
MaxLength
=
"100"
NumberFormat-DecimalDigits
=
"2"
Type
=
"Currency"
DbValue='<%# Eval("Amount")%>'
IncrementSettings-InterceptMouseWheel="False">
</
telerik:RadNumericTextBox
><
br
/>
<
asp:Label
ID
=
"errFundAmount"
runat
=
"server"
ForeColor
=
"Red"
></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Memo"
>
<
ItemTemplate
>
<
telerik:RadTextBox
ID
=
"txtFundMemo"
runat
=
"server"
Width
=
"145px"
Text='<%# Eval("Memo")%>'>
</
telerik:RadTextBox
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
>
<
ItemTemplate
>
<
telerik:RadButton
ID
=
"btnDeleteFundLine"
runat
=
"server"
Text
=
"Delete"
CssClass
=
"classDeleteImage"
HoveredCssClass
=
"classDeleteHoveredImage"
PressedCssClass
=
"classDeletePressedImage"
OnCommand
=
"btnDeleteFundLine_Command"
CommandArgument='<%# Eval("RowNumber")%>'>
<
Image
EnableImageButton
=
"true"
/>
</
telerik:RadButton
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
telerik:RadNumericTextBox
ID
=
"txtNumberOfRows"
runat
=
"server"
Width
=
"50px"
MinValue
=
"1"
ShowSpinButtons
=
"true"
DataType
=
"System.Int32"
NumberFormat-DecimalDigits
=
"0"
Value
=
"1"
>
</
telerik:RadNumericTextBox
>
<
telerik:RadButton
ID
=
"btnAddFundRow"
runat
=
"server"
Font-Bold
=
"True"
Icon-PrimaryIconCssClass
=
"rbAdd"
Text
=
"Add Rows"
OnClick
=
"btnAddFundRow_Click"
>
</
telerik:RadButton
>
</
td
>
<
td
align
=
"right"
>
<
asp:Label
ID
=
"lblFundsTotal"
runat
=
"server"
Font-Bold
=
"true"
></
asp:Label
>
<
telerik:RadButton
ID
=
"btnCalculateFunds"
runat
=
"server"
Font-Bold
=
"True"
Text
=
"Calculate"
Icon-PrimaryIconUrl
=
"~/Images/calc.jpg"
OnClick
=
"btnCalculateFunds_Click"
>
</
telerik:RadButton
>
</
td
>
</
tr
>
</
table
>
using
System;
using
System.Data;
using
System.Web.UI.WebControls;
using
Telerik.Web.UI;
using
dsCashTransmittalTableAdapters;
public
partial
class
Controls_InputFormFundsBreakdown : System.Web.UI.UserControl
{
public
DataTable FundsTable
{
get
;
private
set
;
}
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(ViewState[
"FundsTable"
] ==
null
)
{
FundsTable = DefineFundsDataTable();
AddFiveRows();
}
else
{
FundsTable = (DataTable)ViewState[
"FundsTable"
];
}
}
public
decimal
CalculateTotal()
{
decimal
totalAmount = 0;
try
{
foreach
(GridDataItem item
in
grdFunds.Items)
{
RadNumericTextBox txtFundAmount = (RadNumericTextBox)item.FindControl(
"txtFundAmount"
);
totalAmount += Convert.ToDecimal(txtFundAmount.Value);
}
}
catch
(Exception)
{
totalAmount = 0;
}
return
totalAmount;
}
public
int
CountEntries()
{
int
cnt = 0;
try
{
foreach
(GridDataItem item
in
grdFunds.Items)
{
RadNumericTextBox txtFundAmount = (RadNumericTextBox)item.FindControl(
"txtFundAmount"
);
if
(txtFundAmount.Value != 0)
{
cnt++;
}
}
}
catch
(Exception)
{
cnt = 0;
}
return
cnt;
}
public
void
ResetValidation()
{
errFundsMessage.Text =
""
;
foreach
(GridDataItem item
in
grdFunds.Items)
{
Label errFundNumber = (Label)item.FindControl(
"errFundNumber"
);
errFundNumber.Text =
""
;
Label errAccount = (Label)item.FindControl(
"errAccount"
);
errAccount.Text =
""
;
Label errSubledger = (Label)item.FindControl(
"errSubledger"
);
errSubledger.Text =
""
;
Label errTCode = (Label)item.FindControl(
"errTCode"
);
errTCode.Text =
""
;
Label errFundAmount = (Label)item.FindControl(
"errFundAmount"
);
errFundAmount.Text =
""
;
}
ShowCalculatedTotals();
}
public
void
ShowCalculatedTotals()
{
lblFundsTotal.Text =
"Total: "
+ CalculateTotal().ToString(
"C"
);
}
public
bool
ValidateForm(
bool
valid,
ref
string
logMsg,
bool
twoFundsRequired,
bool
oneFundRequired)
{
bool
hasFund =
false
;
bool
num =
false
;
bool
acct =
false
;
bool
tcode =
false
;
bool
sub =
false
;
//bool amt = false;
foreach
(GridDataItem item
in
grdFunds.Items)
{
RadTextBox txtFundName = (RadTextBox)item.FindControl(
"txtFundName"
);
RadTextBox txtFundNumber = (RadTextBox)item.FindControl(
"txtFundNumber"
);
Label errFundNumber = (Label)item.FindControl(
"errFundNumber"
);
RadTextBox txtAccount = (RadTextBox)item.FindControl(
"txtAccount"
);
Label errAccount = (Label)item.FindControl(
"errAccount"
);
RadTextBox txtSubledger = (RadTextBox)item.FindControl(
"txtSubledger"
);
Label errSubledger = (Label)item.FindControl(
"errSubledger"
);
RadDropDownList ddlTCode = (RadDropDownList)item.FindControl(
"ddlTCode"
);
Label errTCode = (Label)item.FindControl(
"errTCode"
);
RadNumericTextBox txtFundAmount = (RadNumericTextBox)item.FindControl(
"txtFundAmount"
);
//Label errFundAmount = (Label)item.FindControl("errFundAmount");
RadTextBox txtFundMemo = (RadTextBox)item.FindControl(
"txtFundMemo"
);
if
(txtFundAmount.Text ==
string
.Empty)
{
txtFundAmount.Value = 0;
}
if
(txtFundName.Text !=
string
.Empty ||
txtFundNumber.Text !=
string
.Empty ||
txtAccount.Text !=
string
.Empty ||
txtSubledger.Text !=
string
.Empty ||
ddlTCode.SelectedValue !=
string
.Empty ||
txtFundAmount.Value != 0 ||
txtFundMemo.Text !=
string
.Empty)
{
if
(txtFundAmount.Value == 0)
{
//errFundAmount.Text = "Required";
//amt = true;
//txtFundAmount.Focus();
//valid = false;
}
else
{
hasFund =
true
;
if
(txtSubledger.Text !=
string
.Empty && ddlTCode.SelectedValue ==
string
.Empty)
{
errTCode.Text =
"Required"
;
tcode =
true
;
ddlTCode.Focus();
valid =
false
;
}
else
if
(ddlTCode.SelectedValue !=
string
.Empty && txtSubledger.Text ==
string
.Empty)
{
errSubledger.Text =
"Required"
;
sub =
true
;
txtSubledger.Focus();
valid =
false
;
}
if
(txtAccount.Text ==
string
.Empty)
{
errAccount.Text =
"Required"
;
acct =
true
;
txtAccount.Focus();
valid =
false
;
}
if
(txtFundNumber.Text ==
string
.Empty)
{
errFundNumber.Text =
"Required"
;
num =
true
;
txtFundNumber.Focus();
valid =
false
;
}
}
}
}
if
(!hasFund && oneFundRequired)
{
if
(twoFundsRequired)
{
errFundsMessage.Text =
"Enter at least two funds"
;
logMsg =
"<li><b>At least two Funds</b> is Required</li>"
+ logMsg;
}
else
{
errFundsMessage.Text =
"Enter at least one fund"
;
logMsg =
"<li><b>At least one Fund</b> is Required</li>"
+ logMsg;
}
grdFunds.Focus();
valid =
false
;
}
else
{
//if (amt)
//{
// logMsg = "<li><b>Fund Amount</b> is Required</li>" + logMsg;
//}
if
(tcode)
{
logMsg =
"<li><b>Fund T Code</b> is Required</li>"
+ logMsg;
}
if
(sub)
{
logMsg =
"<li><b>Fund Subledger</b> is Required</li>"
+ logMsg;
}
if
(acct)
{
logMsg =
"<li><b>Fund Account</b> is Required</li>"
+ logMsg;
}
if
(num)
{
logMsg =
"<li><b>Fund Number</b> is Required</li>"
+ logMsg;
}
UpdateFundTableFromGrid();
}
return
valid;
}
public
void
AddGridErrorMessage(
string
msg)
{
errFundsMessage.Text = msg;
}
public
void
ResetForm()
{
//FundsTable = DefineFundsDataTable();
//BindFundGrid();
ShowCalculatedTotals();
}
public
void
LoadForm(CTCommonRequests req)
{
FundsTable = LoadFundsDataSource(req.GetCTFundsBreakdown());
AddFiveRows();
FillFundFields();
ShowCalculatedTotals();
}
public
void
LoadTemplate(
int
templateID)
{
TemplateFunds_vTableAdapter taFund =
new
TemplateFunds_vTableAdapter();
FundsTable = LoadFundsTemplateDataSource(taFund.GetDataByTemplateID(templateID));
AddFiveRows();
FillFundFields();
ShowCalculatedTotals();
}
public
void
UpdateFundTableFromGrid()
{
FundsTable = DefineFundsDataTable();
foreach
(GridDataItem item
in
grdFunds.Items)
{
RadNumericTextBox txtFundAmount = (RadNumericTextBox)item.FindControl(
"txtFundAmount"
);
if
(Convert.ToDecimal(txtFundAmount.Value) != 0)
{
DataRow row = FundsTable.NewRow();
row[
"RowNumber"
] = item.GetDataKeyValue(
"RowNumber"
).ToString();
RadTextBox txtFundName = (RadTextBox)item.FindControl(
"txtFundName"
);
row[
"FundName"
] = txtFundName.Text;
RadTextBox txtFundNumber = (RadTextBox)item.FindControl(
"txtFundNumber"
);
row[
"FundNumber"
] = txtFundNumber.Text;
RadTextBox txtAccount = (RadTextBox)item.FindControl(
"txtAccount"
);
row[
"Account"
] = txtAccount.Text;
RadTextBox txtSubledger = (RadTextBox)item.FindControl(
"txtSubledger"
);
row[
"Subledger"
] = txtSubledger.Text;
RadDropDownList ddlTCode = (RadDropDownList)item.FindControl(
"ddlTCode"
);
row[
"TCode"
] = ddlTCode.SelectedValue;
row[
"Amount"
] = Convert.ToDecimal(txtFundAmount.Value);
RadTextBox txtFundMemo = (RadTextBox)item.FindControl(
"txtFundMemo"
);
row[
"Memo"
] = txtFundMemo.Text;
FundsTable.Rows.Add(row);
}
}
}
public
void
UpdateTemplateFundTableFromGrid()
{
FundsTable = DefineFundsDataTable();
foreach
(GridDataItem item
in
grdFunds.Items)
{
RadTextBox txtFundName = (RadTextBox)item.FindControl(
"txtFundName"
);
RadTextBox txtFundNumber = (RadTextBox)item.FindControl(
"txtFundNumber"
);
RadTextBox txtAccount = (RadTextBox)item.FindControl(
"txtAccount"
);
RadTextBox txtSubledger = (RadTextBox)item.FindControl(
"txtSubledger"
);
RadDropDownList ddlTCode = (RadDropDownList)item.FindControl(
"ddlTCode"
);
RadNumericTextBox txtFundAmount = (RadNumericTextBox)item.FindControl(
"txtFundAmount"
);
RadTextBox txtFundMemo = (RadTextBox)item.FindControl(
"txtFundMemo"
);
if
(txtFundName.Text.Trim() !=
string
.Empty ||
txtFundNumber.Text.Trim() !=
string
.Empty ||
txtAccount.Text.Trim() !=
string
.Empty ||
txtSubledger.Text.Trim() !=
string
.Empty ||
(ddlTCode.SelectedIndex > -1 && ddlTCode.SelectedValue !=
""
) ||
txtFundMemo.Text.Trim() !=
string
.Empty)
{
DataRow row = FundsTable.NewRow();
row[
"RowNumber"
] = item.GetDataKeyValue(
"RowNumber"
).ToString();
row[
"FundName"
] = txtFundName.Text;
row[
"FundNumber"
] = txtFundNumber.Text;
row[
"Account"
] = txtAccount.Text;
row[
"Subledger"
] = txtSubledger.Text;
row[
"TCode"
] = ddlTCode.SelectedValue;
row[
"Amount"
] = Convert.ToDecimal(txtFundAmount.Value);
row[
"Memo"
] = txtFundMemo.Text;
FundsTable.Rows.Add(row);
}
}
}
protected
void
grdFunds_DataBound(
object
sender, EventArgs e)
{
ShowCalculatedTotals();
}
protected
void
btnAddFundRow_Click(
object
sender, EventArgs e)
{
ResetValidation();
FundsTable = DefineFundsDataTable();
foreach
(GridDataItem item
in
grdFunds.Items)
{
DataRow row = FundsTable.NewRow();
row[
"RowNumber"
] = item.GetDataKeyValue(
"RowNumber"
).ToString();
RadTextBox txtFundName = (RadTextBox)item.FindControl(
"txtFundName"
);
row[
"FundName"
] = txtFundName.Text;
RadTextBox txtFundNumber = (RadTextBox)item.FindControl(
"txtFundNumber"
);
row[
"FundNumber"
] = txtFundNumber.Text;
RadTextBox txtAccount = (RadTextBox)item.FindControl(
"txtAccount"
);
row[
"Account"
] = txtAccount.Text;
RadTextBox txtSubledger = (RadTextBox)item.FindControl(
"txtSubledger"
);
row[
"Subledger"
] = txtSubledger.Text;
RadDropDownList ddlTCode = (RadDropDownList)item.FindControl(
"ddlTCode"
);
row[
"TCode"
] = ddlTCode.SelectedValue;
RadNumericTextBox txtFundAmount = (RadNumericTextBox)item.FindControl(
"txtFundAmount"
);
row[
"Amount"
] = Convert.ToDecimal(txtFundAmount.Value);
RadTextBox txtFundMemo = (RadTextBox)item.FindControl(
"txtFundMemo"
);
row[
"Memo"
] = txtFundMemo.Text;
FundsTable.Rows.Add(row);
}
for
(
int
x = 0; x < txtNumberOfRows.Value; x++)
{
FundsTable = AddFundsRow(FundsTable);
}
grdFunds.Rebind();
FillFundFields();
}
protected
void
btnDeleteFundLine_Command(
object
sender, CommandEventArgs e)
{
int
rowNumber = Convert.ToInt32(e.CommandArgument);
ResetValidation();
FundsTable = DefineFundsDataTable();
foreach
(GridDataItem item
in
grdFunds.Items)
{
DataRow row = FundsTable.NewRow();
row[
"RowNumber"
] = item.GetDataKeyValue(
"RowNumber"
).ToString();
RadTextBox txtFundName = (RadTextBox)item.FindControl(
"txtFundName"
);
row[
"FundName"
] = txtFundName.Text;
RadTextBox txtFundNumber = (RadTextBox)item.FindControl(
"txtFundNumber"
);
row[
"FundNumber"
] = txtFundNumber.Text;
RadTextBox txtAccount = (RadTextBox)item.FindControl(
"txtAccount"
);
row[
"Account"
] = txtAccount.Text;
RadTextBox txtSubledger = (RadTextBox)item.FindControl(
"txtSubledger"
);
row[
"Subledger"
] = txtSubledger.Text;
RadDropDownList ddlTCode = (RadDropDownList)item.FindControl(
"ddlTCode"
);
row[
"TCode"
] = ddlTCode.SelectedValue;
RadNumericTextBox txtFundAmount = (RadNumericTextBox)item.FindControl(
"txtFundAmount"
);
row[
"Amount"
] = Convert.ToDecimal(txtFundAmount.Value);
RadTextBox txtFundMemo = (RadTextBox)item.FindControl(
"txtFundMemo"
);
row[
"Memo"
] = txtFundMemo.Text;
FundsTable.Rows.Add(row);
}
FundsTable = DeleteFundsRow(FundsTable, rowNumber);
//grdFunds.DataSource = FundsTable;
grdFunds.Rebind();
//foreach (GridDataItem item in grdFunds.Items)
//{
// HiddenField hdnTCode = (HiddenField)item.FindControl("hdnTCode");
// RadDropDownList ddlTCode = (RadDropDownList)item.FindControl("ddlTCode");
// ddlTCode.SelectedValue = hdnTCode.Value;
//}
FillFundFields();
}
protected
void
btnCalculateFunds_Click(
object
sender, EventArgs e)
{
lblFundsTotal.Text =
"Total: "
+ CalculateTotal().ToString(
"C"
);
}
private
void
AddFiveRows()
{
for
(
int
x = 1; x < 6; x++)
{
FundsTable = AddFundsRow(FundsTable);
}
//grdFunds.DataSource = FundsTable;
grdFunds.Rebind();
}
private
DataTable DefineFundsDataTable()
{
DataTable dt =
new
DataTable(
"FundsBreakdown"
);
DataColumn dc =
new
DataColumn(
"RowNumber"
);
dc.DataType = Type.GetType(
"System.Int32"
);
dt.Columns.Add(dc);
dc =
new
DataColumn(
"FundName"
);
dc.DataType = Type.GetType(
"System.String"
);
dt.Columns.Add(dc);
dc =
new
DataColumn(
"FundNumber"
);
dc.DataType = Type.GetType(
"System.String"
);
dt.Columns.Add(dc);
dc =
new
DataColumn(
"Account"
);
dc.DataType = Type.GetType(
"System.String"
);
dt.Columns.Add(dc);
dc =
new
DataColumn(
"Subledger"
);
dc.DataType = Type.GetType(
"System.String"
);
dt.Columns.Add(dc);
dc =
new
DataColumn(
"TCode"
);
dc.DataType = Type.GetType(
"System.String"
);
dt.Columns.Add(dc);
dc =
new
DataColumn(
"Amount"
);
dc.DataType = Type.GetType(
"System.Decimal"
);
dt.Columns.Add(dc);
dc =
new
DataColumn(
"Memo"
);
dc.DataType = Type.GetType(
"System.String"
);
dt.Columns.Add(dc);
return
dt;
}
private
DataTable AddFundsRow(DataTable dt)
{
DataRow row = dt.NewRow();
row[
"RowNumber"
] = dt.Rows.Count + 1;
row[
"FundName"
] =
""
;
row[
"FundNumber"
] =
""
;
row[
"Account"
] =
""
;
row[
"Subledger"
] =
""
;
row[
"TCode"
] =
""
;
row[
"Amount"
] = 0;
row[
"Memo"
] =
""
;
dt.Rows.Add(row);
return
dt;
}
private
DataTable DeleteFundsRow(DataTable dt,
int
deleteRow)
{
DataTable deletedRowTable = DefineFundsDataTable();
foreach
(DataRow sourceRow
in
dt.Rows)
{
if
(Convert.ToInt32(sourceRow[
"RowNumber"
]) != deleteRow)
{
DataRow row = deletedRowTable.NewRow();
row[
"RowNumber"
] = deletedRowTable.Rows.Count + 1;
row[
"FundName"
] = sourceRow[
"FundName"
];
row[
"FundNumber"
] = sourceRow[
"FundNumber"
];
row[
"Account"
] = sourceRow[
"Account"
];
row[
"Subledger"
] = sourceRow[
"Subledger"
];
row[
"TCode"
] = sourceRow[
"TCode"
];
row[
"Amount"
] = sourceRow[
"Amount"
];
row[
"Memo"
] = sourceRow[
"Memo"
];
deletedRowTable.Rows.Add(row);
}
}
return
deletedRowTable;
}
private
DataTable LoadFundsDataSource(DataTable sourceDT)
{
DataTable filledDataTable = DefineFundsDataTable();
foreach
(DataRow sourceRow
in
sourceDT.Rows)
{
DataRow row = filledDataTable.NewRow();
row[
"RowNumber"
] = filledDataTable.Rows.Count + 1;
row[
"FundName"
] = sourceRow[
"FundName"
];
row[
"FundNumber"
] = sourceRow[
"FundNumber"
];
row[
"Account"
] = sourceRow[
"AccountNumber"
];
row[
"Subledger"
] = sourceRow[
"Subledger"
];
row[
"TCode"
] = sourceRow[
"TCode"
];
row[
"Amount"
] = sourceRow[
"FundAmount"
];
row[
"Memo"
] = sourceRow[
"FundMemo"
];
filledDataTable.Rows.Add(row);
}
return
filledDataTable;
}
private
DataTable LoadFundsTemplateDataSource(DataTable sourceDT)
{
DataTable filledDataTable = DefineFundsDataTable();
foreach
(DataRow sourceRow
in
sourceDT.Rows)
{
DataRow row = filledDataTable.NewRow();
row[
"RowNumber"
] = filledDataTable.Rows.Count + 1;
row[
"FundName"
] = sourceRow[
"TemplateFundName"
];
row[
"FundNumber"
] = sourceRow[
"TemplateFundNumber"
];
row[
"Account"
] = sourceRow[
"TemplateAccountNumber"
];
row[
"Subledger"
] = sourceRow[
"TemplateSubledger"
];
row[
"TCode"
] = sourceRow[
"TemplateTCode"
];
row[
"Amount"
] = 0;
row[
"Memo"
] = sourceRow[
"TemplateFundMemo"
];
filledDataTable.Rows.Add(row);
}
return
filledDataTable;
}
private
void
FillFundFields()
{
foreach
(GridDataItem item
in
grdFunds.Items)
{
HiddenField hdnTCode = (HiddenField)item.FindControl(
"hdnTCode"
);
RadDropDownList ddlTCode = (RadDropDownList)item.FindControl(
"ddlTCode"
);
if
(hdnTCode.Value ==
""
)
{
ddlTCode.SelectedIndex = -1;
}
else
{
ddlTCode.SelectedValue = hdnTCode.Value;
}
}
}
protected
void
grdFunds_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
ViewState[
"FundsTable"
] = FundsTable;
grdFunds.DataSource = FundsTable;
}
}