My web page has a section containing a RadGrid control and another section containing a RadUpload control. Initially, the RadProgress area would not display at all when I clicked the RadButton to submit, but it randomly displayed when I clicked edit or delete on the RadGrid. I resolved this by adding client side script to the RadGrid OnCommand event to hide the progress area, and to the RadProgressManager OnClientSubmitting event to show the progress area (not sure if this was a great idea, but it's all I could make work).
Now that my progress area is displaying consistently, my problem is that none of the values are populated - current file, total progress, file count, etc. are all blank and the progress bar always displays as if 100%. I've pasted the content of my aspx file below - it is rather lengthy, but I didn't want to omit anything.
Any suggestions would be appreciated.
<form id="form1" runat="server"> <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server"></telerik:RadStyleSheetManager> <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> <telerik:RadFormDecorator ID="RadFormDecorator1" Skin="Web20" runat="server" /> <div id="outer"> <div id="middle"> <div id="inner"> <asp:Table ID="Table2" runat="server" CellPadding="0" CellSpacing="0" Width="938px"> <asp:TableRow VerticalAlign="top" Height="3%" Width="100%"> <asp:TableCell> <table class="AltBody" style="width: 100%;padding:0px;margin:0px;height:100%;font-weight:bold;"> <tr> <td style="width: 5%; height: 30px;"> <img src="Images/logo2.gif" alt="tenetlogo" height="35px;" /> </td> <td align="center" valign="middle" class="AppHeaderName" style="width: 80%;"> <asp:Label ID="Label1" runat="server" Width="600px" Height="25px" Text="PDR102 Documentation Editor"></asp:Label> </td> <td style="width: 15%; text-align: center;" valign="top"> <asp:LinkButton ID="btnLogout" runat="server" CausesValidation="false" OnClick="btnLogout_Click"> <asp:Image ID="img_logout" ImageUrl="Images/logout.png" runat="server" Width="16" Height="16" /> Logout</asp:LinkButton> </td> </tr> </table> </asp:TableCell> </asp:TableRow> <asp:TableRow VerticalAlign="top" Width="100%"> <asp:TableCell Width="100%" CssClass="minsize"> <br /> <fieldset style="width:97%; margin-left:10px;"> <asp:Table ID="table3" runat="server" CellPadding="0" CellSpacing="10" Width="100%" > <asp:TableRow HorizontalAlign="Center"> <asp:TableCell ColumnSpan="3"> <h3><asp:Label ID="lblTitle" runat="server" CssClass="Label" Text="Report Documentation for "></asp:Label></h3> </asp:TableCell> </asp:TableRow> <asp:TableRow Width="100%" HorizontalAlign="Left"> <asp:TableCell ColumnSpan="3"> <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" AllowFilteringByColumn="false" AllowPaging="false" AllowSorting="false" Skin="Windows7" GridLines="None" OnItemCreated="RadGrid1_ItemCreated" OnUpdateCommand="RadGrid1_UpdateCommand" OnNeedDataSource="RadGrid1_NeedDataSource" OnDeleteCommand="RadGrid1_DeleteCommand" OnItemDataBound="RadGrid1_ItemDataBound" ShowStatusBar="true" > <ClientSettings> <ClientEvents OnCommand="OnCommand" /> </ClientSettings> <MasterTableView AutoGenerateColumns="False" EditMode="InPlace" AllowFilteringByColumn="false" ExpandCollapseColumn-Display="false" CommandItemDisplay="None"> <Columns> <telerik:GridBoundColumn DataField="PDRDocumentLinkID" UniqueName="PDRDocumentLinkID" Visible="false"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn DataField="URL" DataType="System.String" UniqueName="URL" HeaderText="URL"> <EditItemTemplate> <telerik:RadTextBox ID="URL" runat="server" Text='<%#Bind("URL") %>' MaxLength="250"> </telerik:RadTextBox> <br /> <asp:RequiredFieldValidator ID="URLRequiredFieldValidator" runat="server" ControlToValidate="URL" ErrorMessage="URL is required" /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="URLLabel" runat="server" Text='<%# Eval("URL") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="URLDescription" DataType="System.String" UniqueName="URLDescription" HeaderText="URL Description"> <EditItemTemplate> <telerik:RadTextBox ID="URLDescription" runat="server" Text='<%#Bind("URLDescription") %>' MaxLength="250"> </telerik:RadTextBox> <br /> <asp:RequiredFieldValidator ID="URLDescRequiredFieldValidator" runat="server" ControlToValidate="URLDescription" ErrorMessage="URL Description is required" /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="URLDescLabel" runat="server" Text='<%# Eval("URLDescription") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="Description" DataType="System.String" UniqueName="Description" HeaderText="Description"> <EditItemTemplate> <telerik:RadTextBox ID="Description" runat="server" Text='<%#Bind("Description") %>'> </telerik:RadTextBox> <br /> <asp:RequiredFieldValidator ID="DescRequiredFieldValidator" runat="server" ControlToValidate="Description" ErrorMessage="Description is required" /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="DescLabel" runat="server" Text='<%# Eval("Description") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="EffectiveDate" DataType="System.DateTime" FilterControlAltText="Filter EffectiveDate column" HeaderText="Effective Date" UniqueName="EffectiveDate"> <EditItemTemplate> <telerik:RadDatePicker ID="EffectiveDate" runat="server" DbSelectedDate='<%#Bind("EffectiveDate") %>'> </telerik:RadDatePicker> <br /> <asp:RequiredFieldValidator ID="EffDateRequiredFieldValidator" runat="server" ControlToValidate="EffectiveDate" ErrorMessage="Effective Date is required" /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="EffectiveDateLabel" runat="server" Text='<%# Eval("EffectiveDate") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="Type" DataType="System.String" UniqueName="Type" HeaderText="Type"> <EditItemTemplate> <telerik:RadTextBox ID="Type" runat="server" Text='<%#Bind("Type") %>' MaxLength="25"> </telerik:RadTextBox> <br /> <asp:RequiredFieldValidator ID="TypeRequiredFieldValidator" runat="server" ControlToValidate="Type" ErrorMessage="Type is required" /> </EditItemTemplate> <ItemTemplate> <asp:Label ID="TypeLabel" runat="server" Text='<%# Eval("Type") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> <ItemStyle CssClass="MyImageButton" /> </telerik:GridEditCommandColumn> <telerik:GridButtonColumn ConfirmText="Delete this document?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" Text="Delete" UniqueName="DeleteColumn"> <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" /> </telerik:GridButtonColumn> </Columns> <EditFormSettings> <EditColumn UniqueName="EditCommandColumn1" FilterControlAltText="Filter EditCommandColumn1 column"> </EditColumn> </EditFormSettings> </MasterTableView> <FilterMenu EnableImageSprites="False"> </FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Windows7"> </HeaderContextMenu> </telerik:RadGrid> </asp:TableCell> </asp:TableRow> </asp:Table> </fieldset> </asp:TableCell> </asp:TableRow> <asp:TableRow VerticalAlign="top" Width="100%" Height="100%"> <asp:TableCell Width="100%" CssClass="minsize"> <br /> <fieldset style="width:97%; margin-left:10px; height:100%" > <asp:Table ID="table1" runat="server" CellPadding="0" CellSpacing="10" > <asp:TableRow HorizontalAlign="Center" Width="100%"> <asp:TableCell Width="20%"></asp:TableCell> <asp:TableCell ColumnSpan="2" HorizontalAlign="Center"> <h3><asp:Label ID="lblAddDoc" runat="server" CssClass="Label">Add New Document/Link</asp:Label></h3> <h6><asp:Label ID="lblInstructions" runat="server" ForeColor="#4c607a" Text="**Select a Document OR leave Document blank and enter the URL for an existing document."></asp:Label></h6> </asp:TableCell> </asp:TableRow> <asp:TableRow Width="100%"> <asp:TableCell Width="20%"></asp:TableCell> <asp:TableCell Width="20%"> <asp:Label runat="server" ID="lblUpload" Text="Document" CssClass="Label"></asp:Label> </asp:TableCell> <asp:TableCell Width="60%"> <telerik:RadProgressManager ID="RadProgressManager1" runat="server" OnClientProgressUpdating="ProgressCheck" OnClientSubmitting="OnClientSubmitting" /> <telerik:RadUpload ID="RadUpload1" runat="server" MaxFileInputsCount="1" OverwriteExistingFiles="true" OnClientFileSelected="CheckURL" AllowedFileExtensions=".doc,.docx,.pdf,.xls,.xlsx,.txt" ControlObjectsVisibility="ClearButtons" Skin="Web20" MaxFileSize="60000000" ReadOnlyFileInputs="True" TargetFolder="~/UploadedFiles" > </telerik:RadUpload> </asp:TableCell> </asp:TableRow> <asp:TableRow Width="100%"> <asp:TableCell></asp:TableCell> <asp:TableCell> <asp:Label runat="server" ID="lblURL" Text="URL" CssClass="Label"></asp:Label> </asp:TableCell> <asp:TableCell> <telerik:RadTextBox ID="rtbURL" runat="server" Width="400px" Skin="Web20" > </telerik:RadTextBox> <br /> <asp:CustomValidator ID="URLCustomValidator" runat="server" ClientValidationFunction="ValidateURL" EnableClientScript="true" ValidateEmptyText="true" ControlToValidate="rtbURL" ErrorMessage="URL is required if a Document is not selected" ForeColor="Red"> </asp:CustomValidator> </asp:TableCell> </asp:TableRow> <asp:TableRow Width="100%" > <asp:TableCell></asp:TableCell> <asp:TableCell> <asp:Label runat="server" ID="lblURLDescription" Text="URL Description" CssClass="Label"></asp:Label> </asp:TableCell> <asp:TableCell> <telerik:RadTextBox ID="rtbURLDescription" runat="server" MaxLength="250" Width="400px" Skin="Web20" > </telerik:RadTextBox> <br /> <asp:RequiredFieldValidator ID="URLDescRequiredFieldValidator" runat="server" ControlToValidate="rtbURLDescription" SetFocusOnError="true" ForeColor="red" ErrorMessage="URL Description is required"></asp:RequiredFieldValidator> </asp:TableCell> </asp:TableRow> <asp:TableRow Width="100%" > <asp:TableCell></asp:TableCell> <asp:TableCell> <asp:Label runat="server" ID="lblDescription" Text="Description" CssClass="Label"></asp:Label> </asp:TableCell> <asp:TableCell> <telerik:RadTextBox ID="rtbDescription" runat="server" Width="400px" Skin="Web20" TextMode="MultiLine" Rows="2" Wrap="true"> </telerik:RadTextBox> <br /> <asp:RequiredFieldValidator ID="DescriptionRequiredFieldValidator" runat="server" ControlToValidate="rtbDescription" SetFocusOnError="true" ForeColor="red" ErrorMessage="Description is required"></asp:RequiredFieldValidator> </asp:TableCell> </asp:TableRow> <asp:TableRow Width="100%" > <asp:TableCell></asp:TableCell> <asp:TableCell> <asp:Label runat="server" ID="lblEffDate" Text="Effective Date" CssClass="Label"></asp:Label> </asp:TableCell> <asp:TableCell> <telerik:RadDatePicker ID="rdpEffectiveDate" runat="server" Skin="Web20"> </telerik:RadDatePicker> <br /> <asp:RequiredFieldValidator ID="EffDateRequiredFieldValidator" runat="server" ControlToValidate="rdpEffectiveDate" ForeColor="Red" ErrorMessage="Effective Date is required" /> </asp:TableCell> </asp:TableRow> <asp:TableRow Width="100%" > <asp:TableCell></asp:TableCell> <asp:TableCell> <asp:Label runat="server" ID="lblType" Text="Type" CssClass="Label"></asp:Label> </asp:TableCell> <asp:TableCell> <telerik:RadTextBox ID="rtbType" runat="server" MaxLength="25" Width="50px" Skin="Web20"> </telerik:RadTextBox> <br /> <asp:RequiredFieldValidator ID="TypeRequiredFieldValidator" runat="server" ControlToValidate="rtbType" SetFocusOnError="true" ForeColor="red" ErrorMessage="Type is required"></asp:RequiredFieldValidator> </asp:TableCell> </asp:TableRow> <asp:TableRow> <asp:TableCell ColumnSpan="3" HorizontalAlign="Center"> <telerik:RadProgressArea ID="RadProgressArea1" runat="server" DisplayCancelButton="True" ProgressIndicators="TotalProgressBar,TotalProgressPercent,RequestSize,TransferSpeed,CurrentFileName,TimeElapsed,TimeEstimated" Skin="Web20" HeaderText="Upload Progress" > </telerik:RadProgressArea> </asp:TableCell> </asp:TableRow> <asp:TableRow HorizontalAlign="Center"> <asp:TableCell></asp:TableCell> <asp:TableCell ColumnSpan="2"> <telerik:RadButton ID="btnSave" runat="server" Width="175px" Font-Size="Small" Skin="Web20" Text="Save Document" OnClick="btnSave_Click"> </telerik:RadButton> <telerik:RadButton ID="btnReturn" runat="server" Width="175px" Font-Size="Small" Skin="Web20" Text="Select New Report" OnClick="btnReturn_Click" CausesValidation="false" UseSubmitBehavior="false"> </telerik:RadButton> </asp:TableCell> </asp:TableRow> </asp:Table>   </fieldset> </asp:TableCell> </asp:TableRow> </asp:Table> </div> </div> </div> <script type="text/javascript">   function OnCommand(sender, eventArgs) { //Hide the RadProgressArea when grid commands are fired. var progressarea = $find("<%=RadProgressArea1.ClientID %>"); progressarea.hide(); }   function ProgressCheck(progressManager, args) { alert('progress check'); } function ValidateURL(sender, args) { //URL is required if a file has not been selected for upload. var url = $find("<%= rtbURL.ClientID %>"); var fileInputs = $find("<%= RadUpload1.ClientID %>").getFileInputs(); for (var i = 0; i < fileInputs.length; i++) { if (fileInputs[i].value == "" && url.get_value() == "") { args.IsValid = false; return; } } args.IsValid = true; }   function CheckURL(radUpload, eventArgs) { //If a file is selected for upload, clear out the URL because it will be populated automatically. var url = $find("<%= rtbURL.ClientID %>"); url.set_value(""); } function OnClientSubmitting(progressManager, args) { //This gets called when Save or Select New Report buttons are clicked. //It clears the files to be uploaded if the Select New Report button is clicked. var eventTarget = document.getElementById('__EVENTTARGET'); if (eventTarget.value == '<%= btnReturn.UniqueID %>') { //Clear the file inputs var upload = $find("<%= RadUpload1.ClientID %>"); var fileInputs = upload.getFileInputs(); for (var i = 0; fileInputs.length > i; i++) { upload.clearFileInputAt(i); } } else if (eventTarget.value == '<%= btnSave.UniqueID %>') { var progressarea = $find("<%=RadProgressArea1.ClientID %>"); progressarea.show(); } }   </script> </form> </body> </html> <%@ Master Language="VB" CodeFile="MasterPageAdministration.master.vb" Inherits="MasterPageAdministration" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><!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>Site Administration</title> <asp:ContentPlaceHolder id="head" runat="server"> </asp:ContentPlaceHolder> <link href="CSS/styleAppearance.css" rel="Stylesheet" type="text/css" /> <link href="CSS/styleDefault.css" rel="Stylesheet" type="text/css" /> <link href="CSS/styleAppearanceHelper.css" rel="Stylesheet" type="text/css" /> <script type="text/javascript" language="JavaScript" src="js/jquery-1.2.6-vsdoc.js"></script> <script type="text/javascript" language="JavaScript" src="js/jquery.corners.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $('.ua1_bm1').corners("6px"); $('.ua1_bm1Inner').corners("5px"); $('.mainct') .corners("5px top-left 5px top-right"); $('.changePass').click(function () { var msg = $('#Pass_content'); var height = $(window).height() - 150; var width = $(document).width(); msg.css({ 'z-index': '9000', 'left': width / 2 - (msg.width() / 2), 'top': height / 2 - (msg.height() / 2) }); msg.slideToggle("slow"); $('#modal').css({ opacity: 0.5, 'z-index': '8000' }).slideToggle("fast"); }); }); function pageLoad() { $('.cmdCancel').click(function () { $('#Pass_content').slideToggle("fast"); $('#modal').slideToggle("fast"); return false; }); } </script></head><body style="background-image: url(Img/imgBackground.png); background-repeat: repeat-x; background-color: #dbffd5"><form id="form1" runat="server"><div> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <%--<telerik:RadScriptManager ID="ScriptManager1" runat="server"></telerik:RadScriptManager>--%> <table style="margin-left: auto; margin-right: auto; background-color: #dbffd5; width: 100%;"> <tr style="border: solid 1px #166600; background-color: #166600"> <td> <div> <div align="center" style="padding-bottom: 15px"> <span style="float: left"> <img src="Img/imgAdminLogonHeader.png" alt="Text" /> </span> <span style="float: right; padding-top: 5px; padding-right: 10px;"> <asp:Label ID="lblDomainName" runat="server" Text="" Font-Italic="false" Font-Bold="false" ForeColor="#dbffd5"></asp:Label> </span> </div> </div> </td> </tr> </table> <div id="topFrameNav" class="back_Nav" style="padding-left: 1px; width: 100%"> <telerik:RadMenu ID="RadMenu1" runat="server" Style="z-index: 1000;" Skin="Hay" EnableShadows="True"> <Items> <telerik:RadMenuItem runat="server" Text="Home" NavigateUrl="SiteControlPanel.aspx"></telerik:RadMenuItem> </Items> <ExpandAnimation Type="OutElastic" /> <CollapseAnimation Type="InElastic" /> </telerik:RadMenu> </div> <asp:ContentPlaceHolder ID="ContentPlaceHolderMain" runat="server"></asp:ContentPlaceHolder> <div id="contentFrame" class="back_Content"> </div> <div id="rightFrame"></div></div></form></body></html><%@ Page Title="" Language="VB" MasterPageFile="~/MasterPageAdministration.master" AutoEventWireup="true" CodeFile="Events-Management.aspx.vb" Inherits="Events_Management" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> <link href="CSS/styleAppearanceHelper.css" rel="Stylesheet" type="text/css" /> <script type="text/javascript"> function OpenNewEventWindow() {// var oWnd = $find("radWindowNewEvent"); // oWnd.show(); var oWnd = radopen("Create-New-Event.aspx", "radWindowNewEvent"); } </script></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolderMain" Runat="Server"> <telerik:RadWindowManager ID="RadWindowManager1" runat="server"> <Windows> <%--<telerik:RadWindow ID="radWindowNewEvent" runat="server" Height="400px" Width="600px" ReloadOnShow="true" Modal="true" Style="z-index: 9000;" Skin="Hay" NavigateUrl="Create-New-Event.aspx"></telerik:RadWindow>--%> <telerik:RadWindow ID="radWindowNewEvent" runat="server" OpenerElementID="btnNewEvent"></telerik:RadWindow> </Windows> </telerik:RadWindowManager> <div id="maincontenttitle" class="mainCTTitle"> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" EnableAJAX="true"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="cboEventsView"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGridEvents" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <asp:Label ID="lblPageTitle" runat="server" Text="Events Management" Font-Size="Large"></asp:Label><br /> <asp:Label ID="lblPageSubtitle" runat="server" Text="[stage]" Visible="false"></asp:Label><br /><br /> <div id="mainCB" class="maincb"> <div style="width: 100%"> <table cellpadding="0" cellspacing="0" style="table-layout: fixed; width: 100%"> <tr> <td style="width: 110px">Events View:</td> <td><telerik:RadComboBox ID="cboEventsView" runat="server" OnSelectedIndexChanged="cboEventsView_SelectedIndexChanged" AllowCustomText="false" AutoPostBack="true" ExpandAnimation-Type="OutElastic" CollapseAnimation-Type="InElastic" Skin="Hay"> <Items> <telerik:RadComboBoxItem Text="Current Events" Value="Current" Selected="true" /> <telerik:RadComboBoxItem Text="Past Events" Value="Past" /> </Items> </telerik:RadComboBox></td> <td style="text-align: right"><telerik:RadButton ID="btnNewEvent" runat="server" Text="Create New Event" OnClientClicked="OpenNewEventWindow();return false;" Skin="Hay"></telerik:RadButton> <asp:Button ID="btnASPNewEvent" runat="server" Text="Create New Event" OnClientClick="OpenNewEventWindow();return false;" /></td> </tr> </table> </div> <div style="width: 100%; padding-top: 15px; padding-left: 5px; padding-right: 5px;"> <telerik:RadGrid ID="RadGridEvents" runat="server" DataSourceID="sqlEvents" GridLines="None" OnItemDataBound="RadGridEvents_ItemDataBound" Skin="Hay" OnItemCommand="RadGridEvents_ItemCommand"> <ClientSettings EnableRowHoverStyle="true"></ClientSettings> <MasterTableView AutoGenerateColumns="false" CellSpacing="-1" DataKeyNames="dbid, eventname, eventtagline, eventshortdesc, eventfulldesc, eventfeestructure, eventmemo, eventdatetime, eventlocation, contactperson, contactnumber, contactemail" DataSourceID="sqlEvents"> <Columns> <telerik:GridBoundColumn DataField="dbid" DataType="System.Int32" HeaderText="dbid" SortExpression="dbid" UniqueName="dbid" Visible="false"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="eventname" HeaderText="Event Name" SortExpression="eventname" UniqueName="eventname"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="eventdatetime" DataType="System.DateTime" HeaderText="Event Date" SortExpression="eventdatetime" UniqueName="eventdatetime"> <HeaderStyle Width="90px" /> <ItemStyle Width="90px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="eventlocation" HeaderText="Event Location" SortExpression="eventlocation" UniqueName="eventlocation"> <HeaderStyle Width="180px" /> <ItemStyle Width="180px" /> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Edit"> <HeaderStyle Width="20px" /> <ItemStyle Width="20px" /> <ItemTemplate> <asp:ImageButton ID="btnEditEvent" runat="server" ImageUrl="~/Img/imgEditIcon.png" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Archive"> <HeaderStyle Width="20px" /> <ItemStyle Width="20px" /> <ItemTemplate> <asp:ImageButton ID="btnArchiveEvent" runat="server" ImageUrl="~/Img/imgArchiveIcon.png" /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Purge"> <HeaderStyle Width="20px" /> <ItemStyle Width="20px" /> <ItemTemplate> <asp:ImageButton ID="btnPurgeEvent" runat="server" ImageUrl="~/Img/imgDeleteIcon.png" /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid> <asp:SqlDataSource ID="sqlEvents" runat="server" ConnectionString="<%$ ConnectionStrings:fluxConnString %>" SelectCommand="SELECT * FROM EventManagement WHERE ([isarchived] = 'False')"></asp:SqlDataSource> </div> </div> </div></asp:Content>function GetRadWindow() { var oWindow = null; if (window.radWindow) oWindow = window.RadWindow; //Will work in Moz in all cases, including clasic dialog else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz as well) return oWindow;}foreach (DataRow ors in ds.Tables[0].Rows) { if (ds.Tables[0].Rows[0]["Bytes"].ToString().Trim() != string.Empty) myfoto = (byte[])ors[0]; } //Caso o produto não tenha foto é atribuÃdo uma imagem //com o texto "Foto não disponÃvel" if (ds.Tables[0].Rows[0]["Bytes"].ToString() == string.Empty) { //Colocar i caminho da imagem string FinalPath = @"C:\Users\Administrador\documents\visual studio 2010\Projects\site uniao\site uniao\imagens\fotonaodisponiel.gif"; FileStream stream = new FileStream(FinalPath, FileMode.Open, FileAccess.Read); BinaryReader reader = new BinaryReader(stream); myfoto = reader.ReadBytes((int)stream.Length); } context.Response.ContentType = "Bytes/JPG"; context.Response.BinaryWrite(myfoto);
this is my main code of the RadGrid :
private void pesquisar()
{
SqlConnection conn = new SqlConnection(@"Data Source=INFORMATICA005;Initial Catalog=unibanco;Integrated Security=True");
SqlCommand comm = conn.CreateCommand();
comm.CommandText = "SELECT * FROM uniao ";
string[] palavras = RadTextBox2.Text.Split(' ');
string sep = "where descricao like";
int cont = 0;
foreach (string s in palavras)
{
comm.CommandText += sep + " @palavra" + cont.ToString();
comm.Parameters.AddWithValue("@palavra" + cont.ToString(), "%" + s + "%");
sep = " AND descricao like";
cont++;
}
SqlDataAdapter da = new SqlDataAdapter(comm);
DataTable ds = new DataTable ();
da.Fill(ds);
Session["gridtable"] = ds;
RadGrid1.DataSource = Session["gridtable"];
RadGrid1.Rebind ();
}
private List<xItems> GetTreeListChanges() { List<xItems> xItems = new List<xItems>(); foreach(TreeListDataItem rtlItem in rtlxItems.Items) { string xItemsId = Convert.ToString(rtlItem.GetDataKeyValue("xItemsId")); }
[...]
}<telerik:RadTreeList ID="rtlxItems" runat="server" AllowMultiItemEdit="false" ParentDataKeyNames="ParentId" DataKeyNames="ChlidId" ClientDataKeyNames="xItemsId">TreeListDataItem ?
private RadPanelBar PreparePanelBar() { RadPanelBar objRadPanelBar = new RadPanelBar(); objRadPanelBar.ID = Guid.NewGuid().ToString(); objRadPanelBar.Skin = "PanelbarDup"; //This point to my app_themes and from there it ref. to custom skin library objRadPanelBar.EnableEmbeddedSkins = false; objRadPanelBar.Width = Unit.Percentage(100); objRadPanelBar.ExpandMode = PanelBarExpandMode.MultipleExpandedItems; return objRadPanelBar; } private RadPanelItem PrepareRadPanelItem(string _rpbCaption,bool isExpanded) { //Prepare RadPanelItem under passed RadPanelBar RadPanelItem objRadPanelItem = new RadPanelItem(); objRadPanelItem.Text = _rpbCaption; objRadPanelItem.Expanded = isExpanded; return objRadPanelItem; } protected void btnOk_Click(object sender, EventArgs e) { //Prepare Tab RadPanelBar objPanelbar = PreparePanelBar(); //Prepare Sections RadPanelItem objPanelItem = PrepareRadPanelItem("Basic Information", true); //Prepare Dynamic HTML Table under Section objPanelbar.Items.Add(objPanelItem); // Add the table to the placeholder control ContentPlaceHolder.Controls.Add(objPanelbar); }<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="LeftMenuAndContent.ascx.cs" Inherits="Elearning.Usecases.UserControl.LeftMenuAndContent" %><div class="sheet"> <div class="sheet-body"> <div class="content-layout"> <div class="content-layout-row"> <div class="layout-cell sidebar1"> <div class="vmenublock"> <div class="vmenublock-body"> <div class="vmenublockcontent"> <div class="vmenublockcontent-body"> <asp:Repeater ID="repLeftMenu" runat="server"> <ItemTemplate> <li runat="server" id="ListItem"> <asp:LinkButton ID="lnkNavigate" runat="server" CausesValidation="false"> <span class="l"></span><span class="r"></span><span class="t"> <asp:Literal runat="server" ID="litText"></asp:Literal> </span> </asp:LinkButton> </li> </ItemTemplate> <HeaderTemplate> <ul class="vmenu"> </HeaderTemplate> <FooterTemplate> </ul> </FooterTemplate> </asp:Repeater> <div class="cleared"> </div> </div> </div> <div class="cleared"> </div> </div> </div> <div class="cleared"> </div> </div> <div class="layout-cell content"> <div class="post"> <h1> <asp:Literal runat="server" ID="litTitleContent"></asp:Literal> </h1> <asp:PlaceHolder ID="plhContent" EnableViewState="False" runat="Server" /> </div> <div class="cleared"> </div> </div> </div> </div> <div class="cleared"> </div> <div class="cleared"> </div> </div></div>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using CSCR.Hermes.Controllers;using Elearning.UserInterfaceLayer;namespace Elearning.Usecases.UserControl{ public partial class LeftMenuAndContent : BaseUserControl { private Control contentControl; /// <summary> /// Get and set name of active usecase /// </summary> string ActiveLeftMenu { get { return (string)ViewState["ActiveLeftMenu"]; } set { ViewState["ActiveLeftMenu"] = value; } //get { return _activeLeftMenu; } //set { _activeLeftMenu = value; } } private string _activeLeftMenu = string.Empty; protected override void OnLoad(EventArgs e) { base.OnLoad(e); var hermes = GetHermesControl(); if (hermes.Parameters != null && hermes.Parameters[ElearningCommon.PropertyKeys.LessonID] != null) LessonId = Convert.ToInt32(hermes.Parameters[ElearningCommon.PropertyKeys.LessonID]); if (hermes.Parameters != null && hermes.Parameters[ElearningCommon.PropertyKeys.ExamID] != null) ExamID = Convert.ToInt32(hermes.Parameters[ElearningCommon.PropertyKeys.ExamID]); if (hermes.Parameters != null && hermes.Parameters[ElearningCommon.PropertyKeys.ActiveItemLeftMenu] != null) ActiveLeftMenu = hermes.Parameters[ElearningCommon.PropertyKeys.ActiveItemLeftMenu]; repLeftMenu.DataSource = GetMenuItems(); repLeftMenu.DataBind(); // if(!GetHermesControl().IsPostBack) SetActiveMenuAndLoadContent(); } protected override void OnInit(EventArgs e) { base.OnInit(e); repLeftMenu.ItemCommand += OnItemCommand_repLeftMenu; repLeftMenu.ItemDataBound += OnItemDataBound_repLeftMenu; } public void SetActiveLeftMenu(string name) { ActiveLeftMenu = name; } private List<Tab> GetMenuItems() { var menuItems = new List<Tab>(); switch (GetHermesControl().CurrentUsecase) { case ElearningCommon.UCConstants.UCManagmentLesson: menuItems.Add(new Tab() { Name = (string)GetLocalResourceObject("Detail"), UsecaseName = ElearningCommon.UCConstants.LessonDetail }); if (LessonId > 0) { menuItems.Add(new Tab() { Name = (string)GetLocalResourceObject("Users"), UsecaseName = ElearningCommon.UCConstants.LessonUsers }); menuItems.Add(new Tab() { Name = (string)GetLocalResourceObject("Tests"), UsecaseName = ElearningCommon.UCConstants.TestsList }); } break; case ElearningCommon.UCConstants.UCManagmentTest: menuItems.Add(new Tab() { Name = (string)GetLocalResourceObject("Detail"), UsecaseName = ElearningCommon.UCConstants.ExamDetail }); if (ExamID > 0) menuItems.Add(new Tab() { Name = (string)GetLocalResourceObject("QuestionAnswers"), UsecaseName = ElearningCommon.UCConstants.QuestionList }); break; } return menuItems; } private void SetActiveMenuAndLoadContent() { SetActiveMenu(); LoadContent(); } protected void OnItemDataBound_repLeftMenu(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { var dataItem = (Tab)e.Item.DataItem; var lb = e.Item.FindControl("lnkNavigate") as LinkButton; var lit = e.Item.FindControl("litText") as Literal; lit.Text = dataItem.Name; lb.CommandName = dataItem.UsecaseName; if (string.IsNullOrEmpty(ActiveLeftMenu)) ActiveLeftMenu = dataItem.UsecaseName; } } protected void OnItemCommand_repLeftMenu(object source, RepeaterCommandEventArgs e) { // if (ActiveLeftMenu == e.CommandName) // return; ActiveLeftMenu = e.CommandName; SetActiveMenuAndLoadContent(); } protected override void LoadViewState(object savedState) { base.LoadViewState(savedState); // if (!string.IsNullOrEmpty(ActiveLeftMenu)) // SetActiveMenuAndLoadContent(); } private void LoadContent() { litTitleContent.Text = (string)GetLocalResourceObject(ActiveLeftMenu); contentControl = Page.LoadControl( GetHermesControl().GetAppItemRelativeUrl(string.Format("~/Usecases/UserControl/{0}.ascx", ActiveLeftMenu))); plhContent.Controls.Clear(); contentControl.ID = "ActiveLeftMenu"; if (contentControl is BaseUserControl) { (contentControl as BaseUserControl).LessonId = LessonId; (contentControl as BaseUserControl).ExamID = ExamID; } plhContent.Controls.Add(contentControl); contentControl.DataBind(); } private void SetActiveMenu() { for (int i = 0; i < repLeftMenu.Items.Count; i++) { HtmlGenericControl listItem = (HtmlGenericControl)repLeftMenu.Items[i].FindControl("ListItem"); LinkButton listItemLink = (LinkButton)listItem.FindControl("lnkNavigate"); if (listItemLink != null) listItemLink.Attributes.Add("class", listItemLink.CommandName == ActiveLeftMenu ? "active" : ""); } } }}<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UCQuestionDetail.ascx.cs" Inherits="Elearning.Usecases.UserControl.QuestionDetail" %><%@ Import Namespace="Elearning" %><%@ Register TagPrefix="include" TagName="imgbutton_1" Src="~/Usecases/CustomField/ButtonWithImage.ascx" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register TagPrefix="include" TagName="TopMenu" Src="~/Usecases/UserControl/TopMenu.ascx" %><telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" > <ajaxsettings> <telerik:AjaxSetting AjaxControlID="rgridAnswers"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="rgridAnswers" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </ajaxsettings></telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" /><include:TopMenu ID="TopMenu1" runat="server"></include:TopMenu><div class="sheet"> <div class="sheet-body"> <div class="content-layout"> <div class="content-layout-row"> <div class="layout-cell content"> <div class="post"> <h1> <asp:Literal runat="server" ID="litTitleContent" meta:resourcekey="title"></asp:Literal> </h1> <div> <div style="float: right; width: 55%"> <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" HorizontalAlign="NotSet" > <telerik:RadGrid ID="rgridAnswers" runat="server" GridLines="None" OnRowDrop="rgridAnswers_OnRowDrop" AutoGenerateColumns="False" ShowStatusBar="True" AllowAutomaticInserts="True" OnNeedDataSource="rgridAnswers_NeedDataSource" OnItemCreated="OnItemCreated" OnDeleteCommand="rgridAnswers_DeleteCommand" CellSpacing="0" > <ClientSettings AllowRowsDragDrop="True"> <selecting allowrowselect="True" enabledragtoselectrows="False" /> </ClientSettings> <mastertableview commanditemdisplay="Top" datakeynames="ID" width="100%" > <CommandItemSettings AddNewRecordText='<%$ Resources:AddNewRecordText %>' RefreshText='<%$ Resources:RefreshText %>' /> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" FilterControlAltText="Filter EditCommandColumn column" > <ItemStyle CssClass="MyImageButton" /> </telerik:GridEditCommandColumn> <telerik:GridBoundColumn DataField="Text" FilterControlAltText="Filter Text column" meta:resourcekey="QuestionText" UniqueName="Text"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Description" FilterControlAltText="Filter Description column" meta:resourcekey="QuestionDescription" UniqueName="Description"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ScorePerc" FilterControlAltText="Filter ScorePerc column" meta:resourcekey="QuestionScorePerc" UniqueName="ScorePerc"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn column" meta:resourcekey="QuestionIsValid" UniqueName="TemplateColumn"> <ItemTemplate> <asp:ImageButton ID="imgIsValid" runat="server" ImageUrl='<%# (bool)Eval("IsValid")? GetAppItemRelativeUrl(ElearningCommon.Icons.Public): GetAppItemRelativeUrl(ElearningCommon.Icons.Delete) %>' meta:resourcekey="imgIsValidResource1" /> </ItemTemplate> <HeaderStyle HorizontalAlign="Center" /> <ItemStyle HorizontalAlign="Center" /> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn FilterControlAltText="Filter TemplateColumn1 column" UniqueName="TemplateColumn1"> <ItemTemplate> <asp:HiddenField ID="hfSortOrder" runat="server" Value='<%# Eval("SortOrder") %>' /> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Delete" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" FilterControlAltText="Filter DeleteColumn column" meta:resourcekey="QuestionReallyDelete" Text="Delete" UniqueName="DeleteColumn"> <ItemStyle CssClass="MyImageButton" HorizontalAlign="Center" /> </telerik:GridButtonColumn> </Columns> <editformsettings editformtype="WebUserControl" usercontrolname="~/Usecases/UserControl/AnswersDetail.ascx"> <editcolumn filtercontrolalttext="Filter EditCommandColumn1 column" uniquename="EditCommandColumn1"> </editcolumn> </editformsettings> </mastertableview> <filtermenu enableimagesprites="False"> </filtermenu> </telerik:RadGrid> </telerik:RadAjaxPanel> </div> </div> <div class="cleared"> </div> </div> </div> </div> </div> <div class="cleared"> </div> <div class="cleared"> </div> </div></div>using System;using System.Collections.Generic;using System.Collections.Specialized;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using CSCR.Hermes.Controllers;using Elearning.DataAccessLayer;using Telerik.Web.UI;namespace Elearning.Usecases.UserControl{ public partial class QuestionDetail : HermesUserControl { protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (Parameters != null && Parameters[ElearningCommon.PropertyKeys.LessonID] != null) LessonId = Convert.ToInt32(Parameters[ElearningCommon.PropertyKeys.LessonID]); if (Parameters != null && Parameters[ElearningCommon.PropertyKeys.ExamID] != null) ExamID = Convert.ToInt32(Parameters[ElearningCommon.PropertyKeys.ExamID]); if (Parameters[ElearningCommon.PropertyKeys.QuestionID] != null) QuestionId = int.Parse(Parameters[ElearningCommon.PropertyKeys.QuestionID]); TopMenu1.DataBind(); } public int QuestionId { get { if (ViewState[ElearningCommon.PropertyKeys.QuestionID] == null) return -1; return (int)ViewState[ElearningCommon.PropertyKeys.QuestionID]; } set { ViewState[ElearningCommon.PropertyKeys.QuestionID] = value; } } protected void rgridAnswers_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { rgridAnswers.DataSource = DataManager.Instance.GetAnswersByQuestion(QuestionId); } protected void rgridAnswers_DeleteCommand(object sender, GridCommandEventArgs e) { string ID = (e.Item as GridDataItem).OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ID"].ToString(); DataManager.Instance.DeleteAnswer(int.Parse(ID)); } private void rgridAnswers_Update(object sender, CommandEventArgs e,Answer answer) { rgridAnswers.MasterTableView.ClearEditItems(); DataManager.Instance.UpdateAnswer(answer); rgridAnswers.Rebind(); } private void rgridAnswers_Insert(object sender, CommandEventArgs e,Answer answer) { answer.QuestionReference.SetId(EntityHelper.References.Questions,QuestionId); if (rgridAnswers.Items.Count > 0) { var order = (HiddenField)rgridAnswers.Items[rgridAnswers.Items.Count - 1].FindControl("hfSortOrder"); answer.SortOrder = int.Parse(order.Value) + 1; } else answer.SortOrder = 1; DataManager.Instance.InsertAnswer(answer); rgridAnswers.Rebind(); } protected void OnItemCreated(object sender, GridItemEventArgs e) { if (e.Item is GridEditFormItem && e.Item.IsInEditMode) { AnswersDetail MyUserControl = e.Item.FindControl(GridEditFormItem.EditFormUserControlID) as AnswersDetail; MyUserControl.OnUpdate += rgridAnswers_Update; MyUserControl.OnInsert += rgridAnswers_Insert; } } protected void rgridAnswers_OnRowDrop(object sender, GridDragDropEventArgs e) { if (e.DraggedItems[0] != null) { var orderDrag = GetOrderFromGrid(e.DraggedItems[0]); var orderDest = GetOrderFromGrid(e.DestDataItem); DataManager.Instance.ReOrderAnswers(orderDrag,orderDest); rgridAnswers.Rebind(); } } private int GetOrderFromGrid(GridDataItem item) { var orderDragStr = (item.FindControl("hfSortOrder") as HiddenField).Value; return int.Parse(orderDragStr); } }}