or
<
telerik:RadContextMenu
runat
=
"server"
ID
=
"conTest"
OnClientShowing
=
"ClientShowing"
OnClientItemClicked
=
"ClientClicked"
>
<
Targets
>
<
telerik:ContextMenuTagNameTarget
TagName
=
"img"
/>
</
Targets
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"Edit"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Delete"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"View Full"
>
</
telerik:RadMenuItem
>
</
Items
>
</
telerik:RadContextMenu
>
<
telerik:RadPanelBar
ID
=
"pnlBar"
Runat
=
"server"
Skin
=
"Simple"
Width
=
"100%"
DataSourceID
=
"XmlDataSource1"
DataTextField
=
"Text"
DataValueField
=
"Value"
></
telerik:RadPanelBar
>
<
asp:XmlDataSource
ID
=
"XmlDataSource1"
runat
=
"server"
DataFile
=
"~/FluxRSS.xml"
XPath
=
"/items/*"
></
asp:XmlDataSource
>
List<GridSortExpression>
or List<GridFilterExpression>. So as a result, the grid is populated with unsorted & unfiltered data.
Here's the signature of the web service function that is called:public Dictionary<
string
, object> GetAllUsersGrid(int startRowIndex, int maximumRows, List<
GridSortExpression
> sortExpression, List<
GridFilterExpression
> filterExpression)
<
telerik:RadGrid
ID
=
"AllUsersGrid"
runat
=
"server"
AllowPaging
=
"True"
GridLines
=
"None"
AutoGenerateColumns
=
"False"
Skin
=
"WebBlue"
AllowSorting
=
"True"
PageSize
=
"20"
>
<
PagerStyle
Mode
=
"NumericPages"
/>
<
MasterTableView
Font-Size
=
"11px"
AllowFilteringByColumn
=
"true"
>
<
SortExpressions
>
<
telerik:GridSortExpression
FieldName
=
"Name"
SortOrder
=
"Ascending"
/>
</
SortExpressions
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderText
=
"Name"
DataField
=
"Name"
UniqueName
=
"Name"
ItemStyle-HorizontalAlign
=
"Left"
HeaderStyle-HorizontalAlign
=
"Left"
ItemStyle-Wrap
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Email Address"
DataField
=
"Email"
UniqueName
=
"EmailAddress"
ItemStyle-HorizontalAlign
=
"Left"
HeaderStyle-HorizontalAlign
=
"Left"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Access Level"
DataField
=
"AccessLevel"
UniqueName
=
"AccessLevel"
ItemStyle-HorizontalAlign
=
"Left"
HeaderStyle-HorizontalAlign
=
"Left"
CurrentFilterFunction
=
"EqualTo"
CurrentFilterValue
=
"User"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Verified"
DataField
=
"EmailVerified"
UniqueName
=
"EmailVerified"
ItemStyle-HorizontalAlign
=
"Center"
HeaderStyle-HorizontalAlign
=
"Center"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Failed Logins"
DataField
=
"NumFailedLogins"
UniqueName
=
"FailedLogins"
ItemStyle-HorizontalAlign
=
"Center"
HeaderStyle-HorizontalAlign
=
"Center"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Reset"
UniqueName
=
"Reset"
ItemStyle-Width
=
"40"
AllowFiltering
=
"false"
>
</
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
>
<
DataBinding
Location
=
"webservices/SupportSvcs.asmx"
SelectCountMethod
=
"GetAllUsersGrid"
SelectMethod
=
"GetAllUsersGrid"
>
</
DataBinding
>
<
ClientEvents
OnDataBindingFailed
=
"AllUsers_DataBindingFailed"
OnRowDataBound
=
"AllUsers_RowDataBound"
OnDataBound
=
"AllUsers_DataBound"
OnDataBinding
=
"AllUsers_DataBinding"
/>
</
ClientSettings
>
<
SortingSettings
EnableSkinSortStyles
=
"False"
/>
</
telerik:RadGrid
>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication3.WebForm1" %>
<!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
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
</
telerik:RadScriptManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
/>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanel1"
runat
=
"server"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
HorizontalAlign
=
"NotSet"
>
<
telerik:RadGrid
ID
=
"RadGrid1"
AllowPaging
=
"True"
DataSourceID
=
"SqlDataSource1"
runat
=
"server"
CellSpacing
=
"0"
>
<
MasterTableView
DataKeyNames
=
"ID"
AutoGenerateColumns
=
"true"
>
</
MasterTableView
>
</
telerik:RadGrid
>
</
telerik:RadAjaxPanel
>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
ProviderName="<%$ ConnectionStrings:MyConnectionString.ProviderName %>" SelectCommand="SELECT wptam_posts.ID, wptam_posts.post_title, wptam_terms.name, wptam_term_taxonomy.`count`, wptam_posts.post_date, wptam_posts.guid FROM wptam_term_taxonomy INNER JOIN wptam_term_relationships ON wptam_term_taxonomy.term_taxonomy_id = wptam_term_relationships.term_taxonomy_id INNER JOIN wptam_terms ON wptam_term_taxonomy.term_id = wptam_terms.term_id INNER JOIN wptam_posts ON wptam_term_relationships.object_id = wptam_posts.ID WHERE (wptam_term_taxonomy.taxonomy = 'category') AND (wptam_posts.post_type = 'post') ORDER BY wptam_posts.post_date">
</
asp:SqlDataSource
>
</
form
>
</
body
>
</
html
>
<
telerik:RadGrid
ID
=
"grdFiles"
runat
=
"server"
AutoGenerateColumns
=
"False"
OnInsertCommand
=
"grdFiles_Insert"
OnUpdateCommand
=
"grdFiles_Update"
OnEditCommand
=
"grdFiles_Command"
AllowSorting
=
"True"
OnDeleteCommand
=
"grdFiles_Command"
OnNeedDataSource
=
"grdFiles_NeedDataSource"
OnCancelCommand
=
"grdFiles_Command"
OnItemDataBound
=
"grdFiles_ItemDataBound"
PageSize
=
"10"
OnItemCommand
=
"grdFiles_ItemCommand"
GridLines
=
"None"
>
<
MasterTableView
DataKeyNames
=
"CollectionFileID"
CommandItemDisplay
=
"Top"
EditMode
=
"EditForms"
>
<
CommandItemSettings
ShowAddNewRecordButton
=
"true"
AddNewRecordImageUrl
=
"~/Images/AddRecord.gif"
AddNewRecordText
=
"Upload New Collection File"
>
</
CommandItemSettings
>
<
RowIndicatorColumn
FilterControlAltText
=
"Filter RowIndicator column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
FilterControlAltText
=
"Filter ExpandColumn column"
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
NoRecordsTemplate
>
<
div
> No files available.</
div
>
</
NoRecordsTemplate
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"CollectionFileID"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter CollectionFileID column"
HeaderText
=
"ID"
ReadOnly
=
"True"
SortExpression
=
"CollectionFileID"
UniqueName
=
"CollectionFileID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"OriginalFileName"
FilterControlAltText
=
"Filter OriginalFileName column"
HeaderText
=
"Original Name"
UniqueName
=
"OriginalFileName"
ReadOnly
=
"true"
SortExpression
=
"OriginalFileName"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"AssignedFileName"
FilterControlAltText
=
"Filter AssignedFileName column"
HeaderText
=
"Assigned Name"
SortExpression
=
"AssignedFileName"
Visible
=
"false"
UniqueName
=
"AssignedFileName"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"UploadDate"
FilterControlAltText
=
"Filter UploadDate column"
HeaderText
=
"Date Uploaded"
SortExpression
=
"UploadDate"
UniqueName
=
"UploadDate"
ReadOnly
=
"true"
DataFormatString
=
"{0:d}"
>
</
telerik:GridDateTimeColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"Modified"
FilterControlAltText
=
"Filter Modified column"
HeaderText
=
"Date Modified"
SortExpression
=
"Modified"
UniqueName
=
"Modified"
ReadOnly
=
"true"
DataFormatString
=
"{0:d}"
>
</
telerik:GridDateTimeColumn
>
<
telerik:GridTemplateColumn
DataField
=
"Description"
FilterControlAltText
=
"Filter Description column"
HeaderText
=
"Description/Instruction"
SortExpression
=
"Description"
UniqueName
=
"Description"
>
<
EditItemTemplate
>
<
telerik:RadTextBox
ID
=
"DescriptionTextBox"
runat
=
"server"
Text='<%# Bind("Description") %>'
Width="300px" Height="150px" TextMode="MultiLine"></
telerik:RadTextBox
>
</
EditItemTemplate
>
<
ItemTemplate
>
<
asp:Label
ID
=
"DescriptionLabel"
runat
=
"server"
Text='<%# Eval("Description") %>'></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridAttachmentColumn
EditFormHeaderTextFormat
=
"Upload File:"
HeaderText
=
"Download"
AttachmentDataField
=
"BinaryData"
AttachmentKeyFields
=
"CollectionFileID"
FileNameTextField
=
"OriginalFileName"
DataTextField
=
"OriginalFileName"
UniqueName
=
"AttachmentColumn"
>
</
telerik:GridAttachmentColumn
>
<
telerik:GridEditCommandColumn
HeaderText
=
"Edit"
ButtonType
=
"LinkButton"
>
<
HeaderStyle
Width
=
"2%"
/>
</
telerik:GridEditCommandColumn
>
<
telerik:GridButtonColumn
Text
=
"Delete"
HeaderText
=
"Delete"
CommandName
=
"Delete"
ButtonType
=
"LinkButton"
>
<
HeaderStyle
Width
=
"2%"
/>
</
telerik:GridButtonColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
FilterControlAltText
=
"Filter EditCommandColumn column"
></
EditColumn
>
</
EditFormSettings
>
</
MasterTableView
>
<
FilterMenu
EnableImageSprites
=
"False"
></
FilterMenu
>
<
HeaderContextMenu
CssClass
=
"GridContextMenu GridContextMenu_Default"
></
HeaderContextMenu
>
</
telerik:RadGrid
>
protected void grdFiles_Insert(object sender, GridCommandEventArgs e)
{
//Insertion Logic
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem item = e.Item as GridEditableItem;
RadTextBox txtDesc = item.FindControl("DescriptionTextBox") as RadTextBox;
RadUpload upload = (item.EditManager.GetColumnEditor("AttachmentColumn") as GridAttachmentColumnEditor).RadUploadControl;
if (upload != null)
{
UploadedFileCollection upFiles = upload.UploadedFiles;
if (upFiles.Count == 0)
{
//throw new Exception("No file uploaded");
string script = string.Format("alert('No file uploaded');");
ScriptManager.RegisterStartupScript(Page, typeof(Page), "myNoFileScript", script, true);
return;
}
if (upload.InvalidFiles.Count > 0)
{
//throw new Exception("Invalid file type or file size is greater than maximum allowed.");
string script = string.Format("alert('Invalid file type or file size is greater than maximum allowed.');");
ScriptManager.RegisterStartupScript(Page, typeof(Page), "myInvalidFileScript", script, true);
return;
}
CollectionFile oFile = new CollectionFile();
if (txtDesc != null)
{
oFile.Description = txtDesc.Text.Trim();
}
DateTime uploadTime = DateTime.Now;
oFile.UploadDate = uploadTime;
upload.OverwriteExistingFiles = true;
foreach (UploadedFile upfile in upFiles)
{
oFile.OriginalFileName = upfile.GetName();
oFile.FileSize = upfile.ContentLength;
oFile.FileExtension = upfile.GetExtension();
string assignedSystemFileName = System.IO.Path.GetFileNameWithoutExtension(upfile.GetName()) + "_" + System.Guid.NewGuid().ToString() + upfile.GetExtension();
oFile.AssignedFileName = assignedSystemFileName;
//Save File to server's file system
upfile.SaveAs(Server.MapPath("~/CollectionUploads/" + assignedSystemFileName), true);
}
oFile.Modified = uploadTime;
CollectionFile.Insert(oFile);
oFile = null;
grdFiles.Rebind();
}
}
}
protected void grdFiles_Update(object sender, GridCommandEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem itm = e.Item as GridEditableItem;
string collFileId = Convert.ToString(itm.GetDataKeyValue("CollectionFileID"));
//Edit Files
RadTextBox txtDesc = itm.FindControl("DescriptionTextBox") as RadTextBox;
RadUpload upload = (itm.EditManager.GetColumnEditor("AttachmentColumn") as GridAttachmentColumnEditor).RadUploadControl;
CollectionFile oFile = CollectionFile.GetEntity(collFileId);
if (oFile != null)
{
DateTime ModifyTime = DateTime.Now;
if (txtDesc != null)
oFile.Description = txtDesc.Text.Trim();
if (upload != null)
{
upload.OverwriteExistingFiles = true;
UploadedFileCollection upFiles = upload.UploadedFiles;
//If new File is uploaded then delete old file
if (upFiles.Count != 0)
{
//New File is selected to upload
if (File.Exists(Server.MapPath("~/CollectionUploads/" + oFile.AssignedFileName)))
{
File.Delete(Server.MapPath("~/CollectionUploads/" + oFile.AssignedFileName));
}
}
foreach (UploadedFile upfile in upFiles)
{
oFile.OriginalFileName = upfile.GetName();
oFile.FileSize = upfile.ContentLength;
oFile.FileExtension = upfile.GetExtension();
string assignedSystemFileName = System.IO.Path.GetFileNameWithoutExtension(upfile.GetName()) + "_" + System.Guid.NewGuid().ToString() + upfile.GetExtension();
oFile.AssignedFileName = assignedSystemFileName;
//Save File to server's file system
upfile.SaveAs(Server.MapPath("~/CollectionUploads/" + assignedSystemFileName), true);
}
}
oFile.Modified = ModifyTime;
CollectionFile.Update(oFile);
oFile = null;
grdFiles.Rebind();
}
}
}