<
telerik:RadGrid
ID
=
"rgQuotation"
runat
=
"server"
Width
=
"95%"
ShowStatusBar
=
"true"
Skin
=
"Vista"
Font-Names
=
"Verdana"
AutoGenerateHierarchy
=
"true"
HierarchyLoadMode
=
"ServerBind"
AutoGenerateColumns
=
"False"
PageSize
=
"20"
AllowSorting
=
"True"
AllowMultiRowSelection
=
"False"
AllowPaging
=
"True"
ShowFooter
=
"True"
>
<
PagerStyle
Mode
=
"NumericPages"
></
PagerStyle
>
<
MasterTableView
Width
=
"100%"
DataKeyNames
=
"ID"
AllowMultiColumnSorting
=
"True"
CommandItemDisplay
=
"Top"
HierarchyDefaultExpanded
=
"true"
HierarchyLoadMode
=
"ServerOnDemand"
Name
=
"Quotation"
CssClass
=
"DetailTable_Default"
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn"
ItemStyle-Width
=
"30px"
EditImageUrl
=
"~/Portals/0/Images/Edit.gif"
>
</
telerik:GridEditCommandColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"ID"
HeaderText
=
"ID"
HeaderButtonType
=
"TextButton"
DataField
=
"ID"
UniqueName
=
"ID"
ReadOnly
=
"true"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"TariffName"
HeaderText
=
"Quotation Name"
HeaderButtonType
=
"TextButton"
DataField
=
"TariffName"
UniqueName
=
"TariffName"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"RecordType"
HeaderText
=
"Rec Type"
HeaderButtonType
=
"TextButton"
DataField
=
"RecordType"
UniqueName
=
"RecordType"
ReadOnly
=
"true"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"JobID"
HeaderText
=
"Job No"
HeaderButtonType
=
"TextButton"
DataField
=
"JobID"
UniqueName
=
"JobID"
ReadOnly
=
"true"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
EditFormSettings
EditFormType
=
"Template"
InsertCaption
=
"New Quotation"
>
<
FormTemplate
>
<
div
>
<
asp:Label
ID
=
"lblTariffName"
runat
=
"server"
Text
=
"Quotation Name"
CssClass
=
"fieldsetControlStyle"
></
asp:Label
>
<
asp:TextBox
ID
=
"txtTariffName"
runat
=
"server"
Text='<%# Eval("TariffName") %>'></
asp:TextBox
>
<
asp:LinkButton
ID
=
"lnkbtnUpdate"
runat
=
"server"
CausesValidation
=
"True"
CommandName='<%# IIf( DataBinder.Eval(Container, "OwnerTableView.IsItemInserted"), "PerformInsert", "Update") %>'
CssClass="lnkButton" ToolTip="Update">
<
asp:Image
ID
=
"imgUpdate"
runat
=
"server"
ImageUrl
=
"~/Portals/0/Images/Update.gif"
/></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"lnkbtnCancel"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
CssClass
=
"lnkButton"
ToolTip
=
"Cancel"
>
<
asp:Image
ID
=
"imgCancel"
runat
=
"server"
ImageUrl
=
"~/Portals/0/Images/Cancel.gif"
/></
asp:LinkButton
>
</
div
>
</
FormTemplate
>
</
EditFormSettings
>
<
DetailTables
>
<
telerik:GridTableView
DataKeyNames
=
"GroupID"
HierarchyLoadMode
=
"ServerBind"
Width
=
"100%"
HierarchyDefaultExpanded
=
"true"
CommandItemDisplay
=
"Top"
runat
=
"server"
Name
=
"Groups"
CssClass
=
"DetailTable_Default"
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn"
ItemStyle-Width
=
"30px"
EditImageUrl
=
"~/Portals/0/Images/Edit.gif"
>
</
telerik:GridEditCommandColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"GroupID"
HeaderText
=
"GroupID"
HeaderButtonType
=
"TextButton"
DataField
=
"GroupID"
UniqueName
=
"GroupID"
ReadOnly
=
"true"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"GroupName"
HeaderText
=
"Group Name"
HeaderButtonType
=
"TextButton"
DataField
=
"GroupName"
UniqueName
=
"GroupName"
>
<
ItemStyle
Font-Bold
=
"true"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"TariffID"
HeaderText
=
"TariffID"
HeaderButtonType
=
"TextButton"
DataField
=
"TariffID"
UniqueName
=
"TariffID"
ReadOnly
=
"true"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
>
<
FooterTemplate
>
<
asp:Label
ID
=
"lblTotalCost"
runat
=
"server"
Text
=
"Total Cost"
Font-Bold
=
"true"
CssClass
=
"lblTotalCost"
></
asp:Label
>
</
FooterTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
<
EditFormSettings
EditFormType
=
"Template"
InsertCaption
=
"New Group"
>
<
FormTemplate
>
<
div
>
<
asp:Label
ID
=
"lblGroupName"
runat
=
"server"
Text
=
"Group Name"
CssClass
=
"fieldsetControlStyle"
></
asp:Label
>
<
asp:TextBox
ID
=
"txtGroupName"
runat
=
"server"
Text='<%# Eval("groupname") %>'></
asp:TextBox
>
<
br
/>
<
asp:LinkButton
ID
=
"lnkbtnUpdate"
runat
=
"server"
CausesValidation
=
"True"
CommandName='<%# IIf( DataBinder.Eval(Container, "OwnerTableView.IsItemInserted"), "PerformInsert", "Update") %>'
CssClass="lnkButton">
<
asp:Image
ID
=
"imgUpdate"
runat
=
"server"
ImageUrl
=
"~/Portals/0/Images/Update.gif"
/></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"lnkbtnCancel"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
CssClass
=
"lnkButton"
ToolTip
=
"Cancel"
>
<
asp:Image
ID
=
"imgCancel"
runat
=
"server"
ImageUrl
=
"~/Portals/0/Images/Cancel.gif"
/></
asp:LinkButton
>
</
div
>
</
FormTemplate
>
</
EditFormSettings
>
<
CommandItemSettings
AddNewRecordText
=
"Add New Group"
AddNewRecordImageUrl
=
"~/Portals/0/Images/AddRecord.gif"
ShowRefreshButton
=
"false"
/>
<
DetailTables
>
<
telerik:GridTableView
DataKeyNames
=
"ID"
Width
=
"100%"
Name
=
"Items"
CommandItemDisplay
=
"Top"
CssClass
=
"DetailTable_Default!"
EditMode
=
"InPlace"
runat
=
"server"
HierarchyLoadMode
=
"Client"
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
UniqueName
=
"EditCommandColumn"
UpdateImageUrl
=
"~/Portals/0/Images/Update.gif"
ItemStyle-Width
=
"40px"
EditImageUrl
=
"~/Portals/0/Images/Edit.gif"
CancelImageUrl
=
"~/Portals/0/Images/Cancel.gif"
>
</
telerik:GridEditCommandColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"ID"
HeaderText
=
"ID"
HeaderButtonType
=
"TextButton"
DataField
=
"ID"
UniqueName
=
"ID"
ReadOnly
=
"true"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
SortExpression
=
"ItemOrder"
HeaderText
=
"ItemOrder"
HeaderButtonType
=
"TextButton"
DataField
=
"ItemOrder"
UniqueName
=
"ItemOrder"
ReadOnly
=
"true"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<%-- <
telerik:GridBoundColumn
SortExpression
=
"ItemName"
HeaderText
=
"Item Name"
DataField
=
"ItemName"
UniqueName
=
"ItemName"
>
UniqueName="ItemName">
</
telerik:GridBoundColumn
>--%>
<
telerik:GridTemplateColumn
HeaderText
=
"Item Name"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblItemName"
runat
=
"server"
Text='<%# Eval("ItemName") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
ID
=
"txtItemName"
runat
=
"server"
Text='<%# Eval("ItemName") %>'></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
=
"rfvtxtItemName"
runat
=
"server"
ErrorMessage
=
"!"
Display
=
"Dynamic"
ControlToValidate
=
"txtItemName"
></
asp:RequiredFieldValidator
>
</
EditItemTemplate
>
<
ItemStyle
Width
=
"30%"
/>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Rate"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblUnits"
runat
=
"server"
Text='<%# Eval("Units") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadNumericTextBox
ID
=
"rntbRate"
ShowSpinButtons
=
"true"
IncrementSettings-InterceptArrowKeys
=
"true"
IncrementSettings-InterceptMouseWheel
=
"true"
runat
=
"server"
Type
=
"Number"
Width
=
"80px"
DbValue='<%# Eval("Units") %>' NumberFormat-DecimalDigits="2" MinValue="1" IncrementSettings-Step="1"
CssClass="fieldsetControlWidth fieldsetLine" />
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Quantity"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblQuantity"
runat
=
"server"
Text='<%# Eval("Quantity") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadNumericTextBox
ID
=
"rntbQuantity"
ShowSpinButtons
=
"true"
IncrementSettings-InterceptArrowKeys
=
"true"
IncrementSettings-InterceptMouseWheel
=
"true"
runat
=
"server"
Type
=
"Number"
Width
=
"80px"
DbValue='<%# Eval("Quantity") %>' NumberFormat-DecimalDigits="0" MinValue="0"
IncrementSettings-Step="1" CssClass="fieldsetControlWidth fieldsetLine">
<
ClientEvents
OnBlur
=
"Blur"
OnFocus
=
"Focus"
/>
</
telerik:RadNumericTextBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"C.P"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblCostPrice"
runat
=
"server"
Text='<%# Format(DataBinder.Eval(Container.DataItem,"CostPrice"),"###,##0.00") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadNumericTextBox
ID
=
"rntbCostPrice"
ShowSpinButtons
=
"true"
IncrementSettings-InterceptArrowKeys
=
"true"
IncrementSettings-InterceptMouseWheel
=
"true"
runat
=
"server"
Type
=
"Number"
Width
=
"80px"
DbValue='<%# Eval("CostPrice") %>' NumberFormat-DecimalDigits="2" MinValue="0"
IncrementSettings-Step="1" CssClass="fieldsetControlWidth fieldsetLine" />
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"S.P"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblSellingPrice"
runat
=
"server"
Text='<%# Format(DataBinder.Eval(Container.DataItem,"SellingPrice"),"###,##0.00") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadNumericTextBox
ID
=
"rntbSellingPrice"
ShowSpinButtons
=
"true"
IncrementSettings-InterceptArrowKeys
=
"true"
IncrementSettings-InterceptMouseWheel
=
"true"
runat
=
"server"
Type
=
"Number"
Width
=
"80px"
DbValue='<%# Eval("SellingPrice") %>' NumberFormat-DecimalDigits="2" MinValue="0"
IncrementSettings-Step="1" CssClass="fieldsetControlWidth fieldsetLine" />
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridCalculatedColumn
HeaderText
=
"C.P Total"
DataType
=
"System.Double"
FooterText
=
"C.P Total : "
UniqueName
=
"TotalCostPrice"
DataFields
=
"CostPrice,Units,Quantity"
Expression
=
"{0}/{1}*{2}"
Aggregate
=
"Sum"
DataFormatString
=
"{0:###,##0.00}"
FooterAggregateFormatString
=
"{0:£###,##0.00}"
/>
<
telerik:GridCalculatedColumn
HeaderText
=
"S.P Total "
UniqueName
=
"TotalSellingPrice"
DataFields
=
"SellingPrice,Units,Quantity"
Expression
=
"{0}/{1}*{2}"
DataType
=
"System.Double"
FooterAggregateFormatString
=
"{0:£###,##0.00}"
FooterText
=
"S.P Total : "
Aggregate
=
"Sum"
DataFormatString
=
"{0:###,##0.00}"
/>
</
Columns
>
<
CommandItemSettings
AddNewRecordText
=
"Add New Item"
AddNewRecordImageUrl
=
"~/Portals/0/Images/AddRecord.gif"
ShowRefreshButton
=
"false"
/>
<%--<
EditFormSettings
EditFormType
=
"Template"
InsertCaption
=
"New Item"
>
<
FormTemplate
>
<
div
>
<
asp:Label
ID
=
"lblItemName"
runat
=
"server"
Text
=
"Item Name"
CssClass
=
"fieldsetControlStyle"
></
asp:Label
>
<
asp:TextBox
ID
=
"txtItemName"
runat
=
"server"
Text='<%# Eval("ItemName") %>'></
asp:TextBox
>
<
br
/>
<
asp:Label
ID
=
"lblRate"
runat
=
"server"
Text
=
"Rate"
CssClass
=
"fieldsetControlStyle"
></
asp:Label
>
<
asp:TextBox
ID
=
"txtRate"
runat
=
"server"
Text='<%# Eval("Units") %>'></
asp:TextBox
>
<
br
/>
<
asp:Label
ID
=
"lblQuantity"
runat
=
"server"
Text
=
"Quantity"
></
asp:Label
>
<
telerik:RadNumericTextBox
ID
=
"rntbQuantity"
ShowSpinButtons
=
"true"
IncrementSettings-InterceptArrowKeys
=
"true"
IncrementSettings-InterceptMouseWheel
=
"true"
runat
=
"server"
Type
=
"Number"
Width
=
"80px"
NumberFormat-DecimalDigits
=
"0"
MinValue
=
"0"
IncrementSettings-Step
=
"1"
CssClass
=
"fieldsetControlWidth fieldsetLine"
/>
<
br
/>
<
asp:Label
ID
=
"lblCostPrice"
runat
=
"server"
Text
=
"Cost Price"
CssClass
=
"fieldsetControlStyle"
></
asp:Label
>
<
telerik:RadNumericTextBox
ID
=
"rntbCostPrice"
MinValue
=
"0"
runat
=
"server"
MaxLength
=
"6"
DbValue='<%# Bind("CostPrice") %>' Width="160px" Type="Currency" Culture="English (United Kingdom)">
</
telerik:RadNumericTextBox
>
<
br
/>
<
asp:Label
ID
=
"lblSellingPrice"
runat
=
"server"
Text
=
"Selling Price"
CssClass
=
"fieldsetControlStyle"
></
asp:Label
>
<
telerik:RadNumericTextBox
ID
=
"rntbSellingPrice"
MinValue
=
"0"
runat
=
"server"
MaxLength
=
"6"
DbValue='<%# Bind("SellingPrice") %>' Width="160px" Type="Currency" Culture="English (United Kingdom)">
</
telerik:RadNumericTextBox
>
<
br
/>
<
br
/>
<
asp:LinkButton
ID
=
"lnkbtnUpdate"
runat
=
"server"
CausesValidation
=
"True"
CommandName='<%# IIf( DataBinder.Eval(Container, "OwnerTableView.IsItemInserted"), "PerformInsert", "Update") %>'
CssClass="lnkButton" ToolTip="Update">
<
asp:Image
ID
=
"imgUpdate"
runat
=
"server"
ImageUrl
=
"~/Portals/0/Images/Update.gif"
/></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"lnkbtnCancel"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
CssClass
=
"lnkButton"
ToolTip
=
"Cancel"
>
<
asp:Image
ID
=
"imgCancel"
runat
=
"server"
ImageUrl
=
"~/Portals/0/Images/Cancel.gif"
/></
asp:LinkButton
>
</
div
>
</
FormTemplate
>
<%-- <
EditColumn
ButtonType
=
"ImageButton"
InsertText
=
"Insert Item"
UpdateText
=
"Update Item"
UpdateImageUrl
=
"~/Portals/0/Images/Update.gif"
InsertImageUrl
=
"~/Portals/0/Images/Update.gif"
UniqueName
=
"EditCommandColumn1"
CancelText
=
"Cancel edit"
>
</
EditColumn
>
</
EditFormSettings
>--%>
</
telerik:GridTableView
>
</
DetailTables
>
</
telerik:GridTableView
>
</
DetailTables
>
<
CommandItemSettings
AddNewRecordText
=
"Add new Quotation"
AddNewRecordImageUrl
=
"~/Portals/0/Images/AddRecord.gif"
ShowRefreshButton
=
"false"
ShowExportToPdfButton
=
"true"
/>
</
MasterTableView
>
<
ClientSettings
AllowKeyboardNavigation
=
"true"
EnableRowHoverStyle
=
"true"
>
<
ClientEvents
OnRowContextMenu
=
"RowContextMenu"
OnRowDblClick
=
"RowDblClick"
/>
<
Selecting
AllowRowSelect
=
"true"
/>
<
KeyboardNavigationSettings
EnableKeyboardShortcuts
=
"true"
AllowSubmitOnEnter
=
"true"
AllowActiveRowCycle
=
"true"
CollapseDetailTableKey
=
"LeftArrow"
ExpandDetailTableKey
=
"RightArrow"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
Protected Sub CalculateTotalCost(Optional ByVal e As Telerik.Web.UI.GridItemEventArgs = Nothing)
For Each gdiQuotation As GridDataItem In rgQuotation.MasterTableView.Items
pdTotalCost = 0
For Each gdiGroups As GridDataItem In gdiQuotation.ChildItem.NestedTableViews(0).Items
For Each gdiItems In gdiGroups.ChildItem.NestedTableViews(0).Items
pdTotalCost = pdTotalCost + Convert.ToDecimal(gdiItems("TotalCostPrice").Text)
Dim nestedView As GridTableView = gdiQuotation.ChildItem.NestedTableViews(0)
For Each childfooter As GridFooterItem In nestedView.GetItems(GridItemType.Footer)
Dim lblTotalCost As Label = DirectCast(childfooter.FindControl("lblTotalCost"), Label)
lblTotalCost.Text = "Total C.P £" + pdTotalCost.ToString()
Next
Next
Next
Next
End Sub
Protected Sub rgQuotation_ItemDataBound(ByVal source As Object, ByVal e
As Telerik.Web.UI.GridItemEventArgs) Handles rgQuotation.ItemDataBound
If TypeOf e.Item Is GridDataItem And e.Item.OwnerTableView.Name = "Items" Then
CalculateTotalCost()
ElseIf TypeOf e.Item Is GridFooterItem And e.Item.OwnerTableView.Name = "Groups" Then
CalculateTotalCost
()
End If
End Sub
protected
void
RadComboBox1_OnSelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
lblSubtotal.Text =
"Mytest"
;
}
function DownloadFileWindow(oGridMenu, args) {
var domElem = args.get_targetElement();
var text = $telerik.$(domElem).text();
//var isFolder = text.indexOf(".") == -1;
var gridContextMenuItems = oGridMenu.get_allItems();
for (var i = 0; i < gridContextMenuItems.length; i++) {
var menuItem = gridContextMenuItems[i];
if (menuItem.get_value() == "Download_File") {
OnClientFileOpen(sender, args)
__doPostBack(
"download");
}
}
}
radFileExplorer.GridContextMenu.OnClientItemClicked = "DownloadFileWindow";
string userSelection = Request.Params.Get("__EVENTTARGET");
if (userSelection == "download")
{
DownLoadFile();
}
private
void DownLoadFile()
{
string TargetFile = here i need physical path of the file
//radFileExplorer.TreeView.SelectedNode.GetFullPath("/");//radFileExplorer.Configuration.ViewPaths;
System.IO.
FileInfo file = new System.IO.FileInfo(TargetFile);
//-- if the file exists on the server
//set appropriate headers
if (file.Exists)
{
FileStream liveStream = new FileStream(TargetFile, FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[Convert.ToInt32(liveStream.Length) + 1];
liveStream.Read(buffer, 0,
Convert.ToInt32(liveStream.Length));
liveStream.Close();
Response.ClearHeaders();
Response.ClearContent();
Response.Clear();
Response.ContentType =
"application/octet-stream";
Response.AddHeader(
"Content-Length", buffer.Length.ToString());
Response.AddHeader(
"Content-Disposition", "attachment; filename=" + file.Name);
Response.BinaryWrite(buffer);
}
}