or
Public
Sub
OpenDocument(
ByVal
sAttachmentPath
As
String
)
Dim
sAttachmentExt
As
String
Response.Clear()
Response.ClearHeaders()
Response.ClearContent()
sAttachmentExt = sAttachmentPath.Substring(sAttachmentPath.LastIndexOf(
CChar
(
"."
)))
Try
Select
Case
sAttachmentExt
Case
".doc"
Response.ContentType =
"application/msword"
Case
".docx"
Response.ContentType =
"application/vnd.openxmlformats-officedocument.wordprocessingml.document"
Case
".xls"
Response.ContentType =
"application/vnd.ms-excel"
Case
".xlsx"
Response.ContentType =
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
Case
".ppt"
Response.ContentType =
"application/vnd.ms-powerpoint"
Case
".pptx"
Response.ContentType =
"application/vnd.openxmlformats-officedocument.presentationml.presentation"
Case
".pdf"
Response.ContentType =
"application/pdf"
Case
".html"
Response.ContentType =
"application/html"
Case
".txt"
Response.ContentType =
"application/plain"
Case
".zip"
Response.ContentType =
"application/zip"
Case
".rar"
Response.ContentType =
"application/rar"
Case
".gif"
Response.ContentType =
"application/gif"
Case
".jpg"
Response.ContentType =
"application/jpeg"
Case
".png"
Response.ContentType =
"application/png"
Case
".swf"
Response.ContentType =
"application/x-shockwave-flash"
Case
".mpeg"
Response.ContentType =
"application/mpeg"
Case
".avi"
Response.ContentType =
"application/x-msvideo"
Case
Else
Response.ContentType =
"application/plain"
End
Select
Response.AddHeader(
"Content-Disposition"
,
"attachment;filename="
& sAttachmentPath)
Dim
sourcefile
As
FileStream =
New
FileStream(sAttachmentPath, FileMode.Open)
Dim
FileSize
As
Integer
FileSize = sourcefile.Length
Dim
getContent()
As
Byte
=
New
Byte
(FileSize - 1) {}
sourcefile.Read(getContent, 0,
CInt
(sourcefile.Length))
sourcefile.Close()
Response.BinaryWrite(getContent)
Response.Flush()
Catch
ex
As
Exception
Throw
ex
Finally
Response.
End
()
End
Try
End
Sub
<
telerik:RadComboBox
ID
=
"radcomboboxRealEstateManager"
runat
=
"server"
CssClass
=
"mainFormInput"
Skin
=
"Telerik"
Width
=
"220px"
DataTextField
=
"Name"
DataValueField
=
"UserID"
Font-Names
=
"Calibri, Arial, sans-serif"
>
protected void MyEditForm_DataBinding(object sender, GridItemEventArgs e)
{
if (e.Item is GridEditableItem && (e.Item as GridEditableItem).IsInEditMode)
{
GridEditableItem gridEditItem = (GridEditableItem)e.Item;
DropDownList dropDownList = (DropDownList)gridEditItem.FindControl("ContactMethod");
dropDownList.DataSource = customerData.GetLookupList("ContactMethodList");
dropDownList.DataBind();
dropDownList.SelectedValue = gridEditItem.GetDataKeyValue("ContactMethodID").ToString();
}
}
<
asp:DropDownList
ID
=
"ContactMethod"
runat
=
"server"
TabIndex
=
"2"
DataTextField
=
"Display"
DataValueField
=
"LookupID"
AppendDataBoundItems
=
"true"
>
<
asp:ListItem
Text
=
""
Value
=
"0"
></
asp:ListItem
>
</
asp:DropDownList
>
DataKeyNames
="CaseId, ContactMethodID"
<form id=
"form1"
runat=
"server"
>
<telerik:RadScriptManager ID=
"RadScriptManager1"
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>
</telerik:RadScriptManager>
<telerik:RadAjaxManager ID=
"RadAjaxManager1"
runat=
"server"
>
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID=
"timesheetView"
>
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID=
"timesheetView"
/>
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadSkinManager ID=
"RadSkinManager1"
Runat=
"server"
Skin=
"WebBlue"
>
</telerik:RadSkinManager>
<telerik:RadAjaxLoadingPanel ID=
"RadAjaxLoadingPanel1"
runat=
"server"
Height=
"75px"
Transparency=
"25"
Width=
"75px"
>
<img alt=
"Loading..."
src=
'<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>'
style=
"border: 0px;"
/>
</telerik:RadAjaxLoadingPanel>
<telerik:RadCodeBlock ID=
"RadCodeBlock1"
runat=
"server"
>
<script type=
"text/javascript"
>
var hasChanges, inputs, dropdowns, editedRow;
function RowClick(sender, eventArgs) {
if (editedRow != null && hasChanges) {
if (confirm(
"Update changes?"
)) {
hasChanges = false;
$find(
"<%= timesheetView.MasterTableView.ClientID %>"
).updateItem(editedRow);
}
else {
hasChanges = false;
}
}
}
function RowDblClick(sender, eventArgs) {
if (editedRow && hasChanges) {
if (confirm(
"Update changes?"
)) {
hasChanges = false;
$find(
"<%= timesheetView.MasterTableView.ClientID %>"
).updateItem(editedRow);
}
else {
hasChanges = false;
}
}
editedRow = eventArgs.get_itemIndexHierarchical();
$find(
"<%= timesheetView.MasterTableView.ClientID %>"
).editItem(editedRow);
}
function GridCreated(sender, eventArgs)
{
var gridElement = sender.get_element();
var elementsToUse = [];
inputs = gridElement.getElementsByTagName(
"input"
);
for (var i = 0; i < inputs.length;i++)
{
var lowerType = inputs[i].type.toLowerCase();
if(lowerType ==
"hidden"
|| lowerType ==
"button"
)
{
continue;
}
var id = inputs[i].id;
// This filters only the date time pickers
if ((id.indexOf(
"dateInput_text"
) != -1) == true) {
Array.add(elementsToUse, inputs[i]);
inputs[i].onchange = TrackChanges;
hasChanges = true;
}
}
dropdowns = gridElement.getElementsByTagName(
"select"
);
for (var i = 0; i < dropdowns.length;i++)
{
dropdowns[i].onchange = TrackChanges;
}
setTimeout(function(){if(elementsToUse[0])elementsToUse[0].focus();},100);
}
function TrackChanges(e) {
hasChanges = true;
}
</script>
</telerik:RadCodeBlock>
<div>
<telerik:RadGrid Width=
"500px"
ID=
"timesheetView"
ShowStatusBar=
"True"
AllowSorting=
"True"
PageSize=
"7"
GridLines=
"None"
AllowPaging=
"True"
runat=
"server"
AutoGenerateColumns=
"false"
EnableAJAX=
"True"
EnableAJAXLoadingTemplate=
"True"
LoadingTemplateTransparency=
"25"
AllowAutomaticUpdates=
"true"
>
<MasterTableView AllowAutomaticUpdates=
"true"
EditMode=
"InPlace"
>
<Columns>
<telerik:GridBoundColumn UniqueName=
"EventDate"
DataField=
"EventDate"
HeaderText=
"Date"
ReadOnly
=
"True"
HeaderStyle-Width=
"25%"
/>
<telerik:GridBoundColumn UniqueName=
"Location"
DataField=
"Location"
HeaderText=
"Location"
ReadOnly
=
"True"
HeaderStyle-Width=
"25%"
/>
<telerik:GridDateTimeColumn PickerType=
"TimePicker"
UniqueName=
"InTime"
DataType=
"System.DateTime"
DataFormatString=
"{0:t}"
DataField=
"InTime"
HeaderText=
"In"
ReadOnly
=
"False"
HeaderStyle-Width=
"25%"
/>
<telerik:GridDateTimeColumn PickerType=
"TimePicker"
UniqueName=
"OutTime"
DataType=
"System.DateTime"
DataFormatString=
"{0:t}"
DataField=
"OutTime"
HeaderText=
"Out"
ReadOnly
=
"False"
HeaderStyle-Width=
"25%"
/>
</Columns>
</MasterTableView>
<ClientSettings>
<ClientEvents OnRowClick=
"RowClick"
OnRowDblClick=
"RowDblClick"
OnGridCreated=
"GridCreated"
/>
</ClientSettings>
</telerik:RadGrid>
</div>
</form>
Private
Sub
timesheetView_NeedDataSource(
ByVal
sender
As
Object
,
ByVal
e
As
Telerik.Web.UI.GridNeedDataSourceEventArgs)
Handles
timesheetView.NeedDataSource
Dim
Timesheet
As
New
Timesheet
Timesheet.AddEntry(
"OFFICE ADMIN"
, DateTime.Now.AddHours(-1), DateTime.Now.AddHours(2))
Timesheet.AddEntry(
"OFFICE XC"
, DateTime.Now.AddHours(-6), DateTime.Now.AddHours(3))
Timesheet.AddEntry(
"OFFICE 9"
, DateTime.Now.AddHours(-4), DateTime.Now.AddHours(9))
Timesheet.AddEntry(
"OFFICE 8"
, DateTime.Now.AddHours(-2), DateTime.Now.AddHours(7))
timesheetView.DataSource = Timesheet.List
End
Sub
.Scrollgrid
{
position: static;
OVERFLOW: scroll; border:2px; border-style:solid;
}
.panelStyle
{
width:100%;
}
<
asp:Panel
runat
=
"server"
ID
=
"pnlOverview"
CssClass
=
"panelStyle"
>
<
table
width
=
"100%"
>
<
tr
align
=
"center"
>
<
td
>
<
div
class
=
"Scrollgrid"
style
=
"width: 1100px; height: 600px;"
>
<
telerik:RadGrid
ID
=
"RadGridAllRequests"
runat
=
"server"
AllowPaging
=
"true"
AllowSorting
=
"true"
AllowFilteringByColumn
=
"true"
AutoGenerateColumns
=
"False"
GridLines
=
"Both"
OnNeedDataSource
=
"RadGridAllRequests_needdatasource"
OnItemDataBound
=
"RadGridAllRequests_ItemDataBound"
OnItemCreated
=
"RadGridAllRequests_ItemCreated"
OnItemCommand
=
"RadGridAllRequests_ItemCommand"
AllowMultiRowSelection
=
"true"
SelectedItemStyle-CssClass
=
"SelectedItem"
Width
=
"100%"
Skin
=
"WebBlue"
>
<
PagerStyle
Mode
=
"NextPrevNumericAndAdvanced"
Position
=
"TopAndBottom"
AlwaysVisible
=
"true"
/>
<
ClientSettings
EnableRowHoverStyle
=
"true"
EnablePostBackOnRowClick
=
"true"
>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
<
MasterTableView
ShowHeadersWhenNoRecords
=
"true"
AllowFilteringByColumn
=
"true"
DataKeyNames
=
"RequestInfoID"
>
<
Columns
>
<!-- I am displaying about 15 columns here -->
</
Columns
>
<
EditFormSettings
>
<
PopUpSettings
ScrollBars
=
"None"
/>
</
EditFormSettings
>
<
ExpandCollapseColumn
Resizable
=
"False"
Visible
=
"False"
>
<
HeaderStyle
/>
</
ExpandCollapseColumn
>
<
RowIndicatorColumn
Visible
=
"False"
>
<
HeaderStyle
/>
</
RowIndicatorColumn
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
div
>
</
td
>
</
tr
>
</
table
>
</
asp:Panel
>