Hi I have a radgrid that I am pumping over 4k rows into. We have enabled virtualization, but we are getting some strange behavior. When the grid is loaded all looks fine, but when the user scrolls down and the virtualization starts to kick in there are columns not updating/refreshing and rows appear to only be going to 500. I have included a video as well to demonstrate. So when a user opens page, the radgrid displays data, but when scrolling down it appears to stop for certain columns. However, when exporting to excel, all rows are correctly displayed and matching among the rows.
1) GridTemplateColumn with asp:image tag is only displaying first image when sorting.
2) It appears that rows are only going to 500 as I believe this is set with ItemsPerView="500"
Below is the aspx code:
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/MasterPages/main.Master" CodeBehind="Manager.aspx.vb" Inherits="ContentValidationSystem.Manager" %><%@ Register TagPrefix="UserControl" TagName="ManagerEmail" Src="~/Controls/Manager_Email_Settings.ascx" %><asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="styles" runat="server"> <style type="text/css"> #divFloatingHeader{left:250px; right:0; top:200px; height:80px; overflow:hidden; position:fixed;padding-right:5px;background-color:black;} .RadGrid_Simple .rgRow > td, .RadGrid_Simple .rgAltRow > td, .RadGrid_Simple .rgEditRow > td, .RadGrid_Simple .rgFooter > td { border-bottom:1px solid lightgrey !important; } </style></asp:Content><asp:Content ID="Content3" ContentPlaceHolderID="codeblock" runat="server"> <telerik:RadCodeBlock runat="server"> <script type="text/javascript"> /* this will allow control to be parsed.*/ function TelerikControls() { this.__defineGetter__("radsearch_UserName", function () { return $find("<%= radsearch_UserName.ClientID%>"); }); this.__defineGetter__("radgrid_dashboard", function () { return $find("<%= radgrid_Dashboard.ClientID%>") }); this.__defineGetter__("radimagebutton_mgr_MultipleProjects", function () { return $find("<%= radimagebutton_mgr_MultipleProjects.ClientID%>") }); } var _telerikControls = new TelerikControls(); function rowDblClick(sender, eventArgs) { var objGrid = sender; var objMasterTable = objGrid.get_masterTableView(); var row = objMasterTable.get_dataItems()[eventArgs.get_itemIndexHierarchical()]; //alert(row.getDataKeyValue('CVS_DID')); if (row.getDataKeyValue('DocumentID')) { window.open('../Detail_DID.aspx?did=' + row.getDataKeyValue('DocumentID'), '_self'); } } function Resize() { setTimeout(function () { var rdg = $find("<%= radgrid_Dashboard.ClientID%>").GridDataDiv; if (rdg) { var blnStaticHeader = $find("<%= radgrid_Dashboard.ClientID%>").ClientSettings.Scrolling.UseStaticHeaders var parent = $get("divWestSide"); //var srchbox = _telerikControls.radsearch_UserName; var headerHeight = 0; var btnHeight = 0; if (blnStaticHeader) { var rdgHeader = $find("<%= radgrid_Dashboard.ClientID%>").GridHeaderDiv; headerHeight = rdgHeader.clientHeight; } //var srchbox = _telerikControls.radsearch_UserName; //if (srchbox) { btnHeight = srchbox._element.clientHeight } var topdiv = $get("divSearchItems"); if (topdiv) { btnHeight = topdiv.clientHeight; } rdg.style.height = ((parent.clientHeight - btnHeight - 30) - headerHeight) + "px"; } }, 200); } window.onresize = window.onload = Resize; function HandleScrolling(e) { var grid = $find("<%=radgrid_Dashboard.ClientID%>"); var scrollArea = document.getElementById("<%= radgrid_Dashboard.ClientID%>" + "_GridData"); if (IsScrolledToBottom(scrollArea)) { var currentlyDisplayedRecords = grid.get_masterTableView().get_pageSize() * (grid.get_masterTableView().get_currentPageIndex() + 1); //if the visible items are less than the entire record count //trigger an ajax request to increase them if (currentlyDisplayedRecords < 100) { $find("<%= RadAjaxManager_001.ClientID%>").ajaxRequest("LoadMoreRecords"); } } } //calculate when the scroll bar is at the bottom function IsScrolledToBottom(scrollArea) { var currentPosition = scrollArea.scrollTop + scrollArea.clientHeight; return currentPosition == scrollArea.scrollHeight; } </script> </telerik:RadCodeBlock></asp:Content><asp:Content ID="Content4" ContentPlaceHolderID="radajaxmanagerSection" runat="server"> <telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true"> </telerik:RadWindowManager> <script type="text/javascript"> (function (global, undefined) { var demo = {}; function alertCallBackFn(arg) { //radalert("<strong>radalert</strong> returned the following result: <h3 style='color: #ff0000;'>" + arg + "</h3>", 350, 250, "Result"); } function confirmCallBackFn(arg) { //radalert("<strong>radconfirm</strong> returned the following result: <h3 style='color: #ff0000;'>" + arg + "</h3>", 350, 250, "Result"); } function promptCallBackFn(arg) { //radalert("After 7.5 million years, <strong>Deep Thought</strong> answers:<h3 style='color: #ff0000;'>" + arg + "</h3>", 350, 250, "Deep Thought"); } global.alertCallBackFn = alertCallBackFn; global.confirmCallBackFn = confirmCallBackFn; global.promptCallBackFn = promptCallBackFn; global.$dialogsDemo = demo; })(window); </script> <telerik:RadAjaxManager ID="RadAjaxManager_001" runat="server" OnAjaxRequest="RadAjaxManager_001_AjaxRequest"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="radsearch_UserName"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID ="radgrid_Dashboard" LoadingPanelID="radajaxloadingpanel_GridPanel" /> <telerik:AjaxUpdatedControl ControlID="rptStatusInfo" LoadingPanelID="radajaxloadingpanel_GridPanel" /> <telerik:AjaxUpdatedControl ControlID="rptUpcomingItems" LoadingPanelID="radajaxloadingpanel_GridPanel" /> <telerik:AjaxUpdatedControl ControlID="RadHtmlChart_FrequencyMix" LoadingPanelID="radajaxloadingpanel_GridPanel" /> <%--<telerik:AjaxUpdatedControl ControlID="pnlEmailPreferences" LoadingPanelID="radajaxloadingpanel_GridPanel" />--%> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="radgrid_Dashboard"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="radgrid_Dashboard" LoadingPanelID="radajaxloadingpanel_GridPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadCodeBlock runat="server"> <script type="text/javascript"> $telerik.$(document).ready(function () { }); function GridCreated(sender, args) { sender.get_masterTableView().hideFilterItem();//hide filter menu var scrollArea = sender.GridDataDiv; if (scrollArea) { var blnStaticHeader = sender.ClientSettings.Scrolling.UseStaticHeaders; var parent = $get("divWestSide"); var headerHeight = 0; var headerWidth = 0; var btnHeight = 0; if (blnStaticHeader) { var gridHeader = sender.GridHeaderDiv; headerHeight = gridHeader.clientHeight; headerWidth = gridHeader.clientWidth; //alert(headerWidth); } var topdiv = $get("divSearchItems"); if (topdiv) { btnHeight = topdiv.clientHeight; } scrollArea.style.height = ((parent.clientHeight - btnHeight - 30) - headerHeight) + "px"; sender.add_rowCreated(RowCreated); } } function RowCreated() { } function CheckAll(id) { var masterTable = $find("<%= radgrid_Dashboard.ClientID%>").get_masterTableView(); var row = masterTable.get_dataItems(); if (id.checked == true) { for (var i = 0; i < row.length; i++) { masterTable.get_dataItems()[i].findElement("cboxSelect").checked = true; // for checking the checkboxes //masterTable.get_dataItems()[i].findElement("chkbx_Select_OnOff").checked = true; // for checking the checkboxes } } else { for (var i = 0; i < row.length; i++) { masterTable.get_dataItems()[i].findElement("cboxSelect").checked = false; // for unchecking the checkboxes //masterTable.get_dataItems()[i].findElement("chkbx_Select_OnOff").checked = false; // for checking the checkboxes } } } function unCheckHeader(id) { var masterTable = $find("<%= radgrid_Dashboard.ClientID%>").get_masterTableView(); var row = masterTable.get_dataItems(); if (id.checked == false) { var chkBox = $telerik.$('input[id$=checkAll]'); chkBox[0].checked = false; } } function OpenRadWindowMultipleDocuments(sender, args) { var uiPersonNumber = sender.get_commandArgument(); var urlTracker = $get('<%=hdnField_TrackerUrl.ClientID%>').value; var DIDs = ','; //******************************************************************************************** var masterTable = $find("<%= radgrid_Dashboard.ClientID%>").get_masterTableView(); var rows = masterTable.get_dataItems(); for (var i = 0; i < rows.length; i++) { var chkBox = masterTable.get_dataItems()[i].findElement("cboxSelect"); var row = rows[i]; var tDID = row.get_cell("DocumentID").innerHTML + ','; if (chkBox.checked) { DIDs += tDID } } //******************************************************************************************** var sURLParm = urlTracker + '/new/0/0?cvs=http://' + document.location.host + '/Service/ReportDashboardData.svc/Open_Tracker/' + DIDs + '/' + uiPersonNumber; //var sURLParm = 'http://procmgmt-contentvalidation-dev.bankofamerica.com/Service/ReportDashboardData.svc/Open_Tracker/' + DIDs + '/' + uiPersonNumber; window.open(sURLParm, "WindowPopup", "width=800px, height=600px, resizable,scrollbars=1");//test window open; } function OpenTrackerProject(did, uiPersonNumber) { var urlTracker = $get('<%=hdnField_TrackerUrl.ClientID%>').value; var sURLParm = urlTracker + '/new/0/0?cvs=http://' + document.location.host + '/Service/ReportDashboardData.svc/Open_Tracker/' + did + '/' + uiPersonNumber; //window.status = sURLParm; window.open(sURLParm, "_blank")//"width=800px, height=600px, resizable,scrollbars=1");//test window open; //window.open('http://sharepoint3.bankofamerica.com/sites/ServicingBusinessSupport/PM/pm.html#/home', "WindowPopup", "width=800px, height=600px, resizable"); <%--var oWnd = $find("<%= radwindow_TrackerInfo.ClientID%>"); oWnd.SetUrl(sURLParm); oWnd.setSize(800, 600); oWnd.show();--%> } function OpenRadWin(did) { var urlTracker = $get('<%=hdnField_TrackerUrl.ClientID%>').value; //var oWnd = $find("<%= radwindow_TrackerInfo.ClientID%>"); /* * * This is to stay hard coded until tracker is remediated to TI Production Platform. * use of -dev url is due to Tracker being hosted on Sharepoint Site. * * when remove the following: * var sURL = "http://procmgmt-contentvalidation-dev.bankofamerica.com/TrackerInfo.aspx?did=" + did * var sURL = ''; sURL = 'http://' + document.location.host + '/TrackerInfo.aspx?did=' + did; */ //window.status = sURL; //oWnd.SetUrl(sURL); //oWnd.setUrl(); //oWnd.setSize(600, 400); //oWnd.show(); var sURLParm = urlTracker + '/search?did=' + did + ',' window.open(sURLParm, "WindowPopup", "width=800px, height=600px, resizable,scrollbars=1");//test window open; } </script> </telerik:RadCodeBlock></asp:Content><asp:Content ID="Content5" ContentPlaceHolderID="mainContent" runat="server"> <div style="float:left;"><asp:Label ID="lblMsg" runat="server"></asp:Label></div><table> <tr> <td> <div id="divEastSide"> <table style="width:100%;"> <tr> <td class="cellInfo"> <!-- Status Info --> <asp:Repeater ID="rptStatusInfo" runat="server"> <HeaderTemplate> <table class="tblStats"> <tr> <th colspan="3"> Status </th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td ><%# ProperCase(DataBinder.Eval(Container.DataItem, "Status").ToString().Trim)%></td> <td><%# String.Format("{0:G}", DataBinder.Eval(Container.DataItem, "StatusCount"))%></td> <td><%# String.Format("{0:P0}", DataBinder.Eval(Container.DataItem, "StatusPercentage"))%></td> </tr> </ItemTemplate> <AlternatingItemTemplate> <tr> <td ><%# ProperCase(DataBinder.Eval(Container.DataItem, "Status").ToString().Trim)%></td> <td><%# String.Format("{0:G}", DataBinder.Eval(Container.DataItem, "StatusCount"))%></td> <td><%# String.Format("{0:P0}", DataBinder.Eval(Container.DataItem, "StatusPercentage"))%></td> </tr> </AlternatingItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </td> </tr> <tr> <td> <!-- Upcoming Due Items --> <div style="padding-top:10px;padding-bottom:10px;"> <asp:Repeater ID="rptUpcomingItems" runat="server"> <HeaderTemplate> <table class="tblStats"> <tr> <th colspan="2"> Documents Coming Due </th> </tr> <tr> <td><strong>Review Month</strong></td> <td><strong>Total</strong></td> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td><%#DataBinder.Eval(Container.DataItem, "Review Month")%></td> <td><%# String.Format("{0:G}", DataBinder.Eval(Container.DataItem, "Total"))%></td> </tr> </ItemTemplate> <AlternatingItemTemplate> <tr> <td><%#DataBinder.Eval(Container.DataItem, "Review Month")%></td> <td><%# String.Format("{0:G}", DataBinder.Eval(Container.DataItem, "Total"))%></td> </tr> </AlternatingItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </div> </td> </tr> <tr> <td > <!-- Frequency PieChart --> <table class="tblStats" > <tr> <th colspan="2"> Frequency Mix </th> </tr> <tr> <td colspan="2"> <telerik:RadHtmlChart id="RadHtmlChart_FrequencyMix" Transitions="true" runat="server" Width="195px" Height="200px"> <ChartTitle Text="Frequency Mix"> <Appearance Visible="false"></Appearance> </ChartTitle> <Legend> <Appearance Visible="false"></Appearance> </Legend> <Appearance> <FillStyle BackgroundColor="White" /> </Appearance> <PlotArea> <Series> <telerik:PieSeries StartAngle="90" DataFieldY="FreqPercentage" NameField="Frequency" ExplodeField="Exploded" ColorField="SeriesColor"> <LabelsAppearance DataField="Frequency" Position="InsideEnd" DataFormatString="{0}"> <TextStyle FontFamily="Connections" FontSize="7pt" Color="Black" Padding="2px" /> </LabelsAppearance> <TooltipsAppearance Color="White" DataFormatString="{0:p2}"></TooltipsAppearance> <Appearance Overlay-Gradient="RoundedBevel"></Appearance> </telerik:PieSeries> </Series> </PlotArea> </telerik:RadHtmlChart> </td> </tr> </table> </td> </tr> <tr> <td> <%--Email Preferences Here--%> <UserControl:ManagerEmail ID="manageremail_MgrEmailPreferences" runat="server" EnableViewState="true" /> </td> </tr> </table> </div> </td> <td> <div id="divWestSide"> <div class="floatleftdiv"> <telerik:RadImageButton ID="radimagebutton_mgr_MultipleProjects" Text="Open Project(s)" CssClass="radgrid_lightblue_gradient display_inline_block" runat="server" Width="125px" Height="50px" Font-Size="X-Small" ForeColor="White" OnClientClicked="OpenRadWindowMultipleDocuments" AutoPostBack="false" > </telerik:RadImageButton><asp:HiddenField ID="hdnField_TrackerUrl" runat="server" /> </div> <div id="divSearchItems" class="floatrightdiv"> <table> <tr> <td > <div class="floatleftdiv"><span>Dashboard</span> </div> <div class="floatrightdiv"> <asp:Button ID="btnPopulate_radsearch_Dashboard" runat="server" text="Me" CssClass="AspButtonAsHyperLink" OnClick="hyperButton_Click" CommandArgument="radsearch_UserName" CommandName="updateSearchBox_andPopulate" /> </div> </td> <td /> </tr> <tr> <td> <telerik:RadSearchBox ID="radsearch_UserName" runat="server" width="460px" DataSourceID="SqlDataSource1" DropDownSettings-Height="300" DataTextField ="FullName" DataValueField="userid" DataKeyNames="userid" EmptyMessage="Lastname, Firstname" Filter="Contains" MaxResultCount="20" OnDataSourceSelect="radsearch_UserName_DataSourceSelect" OnSearch="radsearch_UserName_Search" DropDownSettings-CssClass="cellInfo" > </telerik:RadSearchBox> </td><td> <asp:ImageButton ID="imgbtn_ExcelExport" runat="server" ImageUrl="~/Includes/images/Excel_XLSX.png" OnClick="ImageButton_Click" AlternateText="ExcelML" Height="25px" /> </td> </tr> </table> </div> <telerik:RadAjaxLoadingPanel ID="radajaxloadingpanel_GridPanel" runat="server"></telerik:RadAjaxLoadingPanel> <telerik:RadGrid RenderMode="Classic" CssClass="leftbound" ID="radgrid_Dashboard" AllowFilteringByColumn="true" runat="server" AllowPaging="false" AllowSorting="true" GroupingEnabled="False" width="100%" AutoGenerateColumns="false" OnItemCreated="radgrid_Dashboard_ItemCreated" OnItemDataBound="radgrid_Dashboard_ItemDataBound" ClientSettings-Resizing-AllowResizeToFit="true" OnSortCommand="radgrid_Dashboard_SortCommand" OnExcelMLWorkBookCreated="radgrid_Dashboard_ExcelMLWorkBookCreated" OnExcelMLExportRowCreated="radgrid_Dashboard_ExcelMLExportRowCreated" OnInfrastructureExporting="radgrid_Dashboard_InfrastructureExporting" Skin="Simple" > <ExportSettings> <Excel Format="BIFF" AutoFitImages="true" DefaultCellAlignment="Left" /> </ExportSettings> <MasterTableView DataKeyNames="ID,DocumentId" CommandItemDisplay="None" HorizontalAlign="NotSet" AutoGenerateColumns="false" ClientDataKeyNames="DocumentID,Title" TableLayout="Fixed" Width="100%" EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true" > <NoRecordsTemplate> <span class="NoRecords"> User is not a Primary Manager, Delegate, or Majority Owner for any documents. </span> </NoRecordsTemplate> <Columns> <%-- id column not visible --%> <telerik:GridBoundColumn HeaderText="ID" DataField="ID" UniqueName="ID" Visible="false" ReadOnly="true"> <HeaderStyle Width="50px" /> </telerik:GridBoundColumn> <%--checkbox column--%> <telerik:GridTemplateColumn UniqueName="SelectItem" EnableHeaderContextMenu="false"> <HeaderStyle Width="50px"/> <ItemStyle HorizontalAlign="Center" /> <HeaderTemplate> <asp:CheckBox ID="checkAll" runat="server" onclick="CheckAll(this)" /> </HeaderTemplate> <ItemTemplate> <asp:CheckBox ID="cboxSelect" runat="server" onclick="unCheckHeader(this)" /><%-- <div class="onoffswitch" style="float:left;"> <asp:CheckBox ID="chkbx_Select_OnOff" runat="server" onclick="unCheckHeader(this)" /> <label id="lbl_Select_OnOff" runat="server"> <span class="onoffswitch-inner"></span> <span class="onoffswitch-switch"></span> </label> </div>--%> </ItemTemplate> </telerik:GridTemplateColumn> <%-- 2nd Flag Column --%> <telerik:GridTemplateColumn UniqueName="GapFlag2" DataField ="GapFlag" AllowFiltering="true" SortExpression="Gap" > <HeaderStyle Width="50px" /> <HeaderTemplate> <asp:Label ID="lbl_dummyGap" CssClass="gridHeaderItem" runat="server" Text="Gap"></asp:Label> </HeaderTemplate> <ItemTemplate> <asp:Image ID="img_GapFlag" runat="server" Width="15px" Height="15px" /> </ItemTemplate> </telerik:GridTemplateColumn><%-- <telerik:GridBoundColumn HeaderText="Gap" DataField="Gap" UniqueName="Gap"> <HeaderStyle Width="50px" /> <ItemStyle HorizontalAlign="left" Wrap="true" /> </telerik:GridBoundColumn>--%> <%-- flag column --%><%-- <telerik:GridImageColumn DataType="System.String" DataImageUrlFields="GapFlag" DataImageUrlFormatString="{0}" ImageAlign="AbsMiddle" ImageHeight="15px" ImageWidth="15px" HeaderText="Gap" UniqueName="GapFlag" EnableHeaderContextMenu="false" > <HeaderStyle Width="50px" /> </telerik:GridImageColumn>--%> <%--System of Record Column--%> <telerik:GridBoundColumn HeaderText="Sys_Of_Record" DataField="Sys_Of_Record" UniqueName="Sys_Of_Record" AllowFiltering="true" Visible="false"> <HeaderStyle Width="150px" /> <ItemStyle HorizontalAlign="left" Wrap="true" /> </telerik:GridBoundColumn> <%--DocumentID Column--%> <telerik:GridBoundColumn HeaderText="DocumentID" DataField="DocumentID" UniqueName="DocumentID" AllowFiltering="true" CurrentFilterFunction="StartsWith"> <HeaderStyle Width="250px" /> <ItemStyle HorizontalAlign="left" Wrap="true" /> </telerik:GridBoundColumn> <%--Hyperlink Column for Title--%> <telerik:GridTemplateColumn UniqueName="TitleLink" AllowSorting="true" DataField="Title" AllowFiltering="true" CurrentFilterFunction="StartsWith"> <HeaderStyle Width="350px" /> <ItemStyle HorizontalAlign="left" Width="100%" /> <HeaderTemplate> <asp:Label ID="lbl_dummytitle" CssClass="gridHeaderItem" runat="server" Text="Title"></asp:Label> </HeaderTemplate> <ItemTemplate> <a href="<%# DataBinder.Eval(Container.DataItem, "Link")%>" target="•_blank" ><%# DataBinder.Eval(Container.DataItem, "Title")%></a> </ItemTemplate> </telerik:GridTemplateColumn> <%--Title Column - used in exports--%> <telerik:GridBoundColumn HeaderText="Title" DataField="Title" UniqueName="TitleExport" Visible="true" Display="false"> <HeaderStyle Width="100px" /> </telerik:GridBoundColumn> <%--Chapter Column--%> <telerik:GridBoundColumn HeaderText ="Chapter" DataField="Chapter" UniqueName="Chapter" AllowFiltering="true" CurrentFilterFunction="StartsWith"> <HeaderStyle Width="350px" /> <ItemStyle HorizontalAlign="left" Wrap="false" /> </telerik:GridBoundColumn> <%--Category Column--%> <telerik:GridBoundColumn HeaderText="Category" DataField="Category" UniqueName="Category"> <HeaderStyle Width="200px" /> <ItemStyle HorizontalAlign="left" Wrap="false" /> </telerik:GridBoundColumn> <%-- Topic/Grouping Column --%> <telerik:GridBoundColumn HeaderText="Topic/Group" DataField="Topic_Grouping" UniqueName="Topic_Grouping"> <HeaderStyle Width="300px" /> <ItemStyle HorizontalAlign="left" Wrap="false" /> </telerik:GridBoundColumn> <%--Frequency Column--%> <telerik:GridBoundColumn HeaderText="Frequency" DataField="Frequency" UniqueName="Frequency"> <HeaderStyle Width="100px" /> <ItemStyle HorizontalAlign="Center" Wrap="false" /> </telerik:GridBoundColumn> <%--Document Status Color Not visible--%> <telerik:GridBoundColumn HeaderText="Document_Status_Color" DataField="Document_Status_Color" UniqueName="Document_Status_Color" Visible="true" Display="false"> <HeaderStyle Width="50px" /> </telerik:GridBoundColumn> <%--Next Review Date Column--%> <telerik:GridDateTimeColumn HeaderText="Next<br/>Review" DataField="Next_Review_DtTM" UniqueName="Next_Review_DtTM" DataFormatString="{0:M/d/yyyy}" AllowFiltering="true" CurrentFilterFunction="StartsWith"> <HeaderStyle Width="100px" /> </telerik:GridDateTimeColumn> <telerik:GridDateTimeColumn HeaderText="Next<br/>Review<br/>NoColor" DataField="Next_Review_DtTM" UniqueName="Next_Review_DtTM_NoColor" DataFormatString="{0:M/d/yyyy}" AllowFiltering="true" CurrentFilterFunction="StartsWith"> <HeaderStyle Width="100px" /> </telerik:GridDateTimeColumn> <%-- Area --%> <telerik:GridBoundColumn HeaderText="Area" DataField="Area" UniqueName="Area" Visible="true" Display="false"> <HeaderStyle Width="50px" /> <ItemStyle Wrap="false" /> </telerik:GridBoundColumn> <%--Status column--%> <telerik:GridBoundColumn HeaderText="Status" DataField="Status" UniqueName="Status"> <HeaderStyle Width="125px" /> <ItemStyle Wrap="false" /> </telerik:GridBoundColumn> <%--Primary Manager Column--%> <telerik:GridBoundColumn HeaderText="Primary Manager" DataField="Primary_Manager" UniqueName="Primary_Manager"> <HeaderStyle Width="350px" /> </telerik:GridBoundColumn> <%--Majority Owner / Manager Column--%> <telerik:GridBoundColumn HeaderText="Manager" DataField="Manager" UniqueName="Manager"> <HeaderStyle Width="350px" /> </telerik:GridBoundColumn> <%--Team Name Column--%> <telerik:GridBoundColumn HeaderText="Team Name" DataField="Team" UniqueName="Team_Name"> <HeaderStyle Width="350px" /> </telerik:GridBoundColumn> <%--Content Owner Column--%> <telerik:GridBoundColumn HeaderText="Content Owners" DataField="ContentOwners" UniqueName="ContentOwners"> <HeaderStyle Width="350px" /> </telerik:GridBoundColumn> <%-- StakeHolder Column --%> <telerik:GridBoundColumn HeaderText="Stakeholders" DataField="Stakeholders" UniqueName="Stakeholders" > <HeaderStyle Width="350px" /> </telerik:GridBoundColumn> <%-- Number Of Hits Column --%> <telerik:GridBoundColumn HeaderText="Hits" DataField="Last_Months_Hits" UniqueName="Last_Months_Hits"> <HeaderStyle Width="350px" /> </telerik:GridBoundColumn> <%-- Comments Column --%> <telerik:GridBoundColumn HeaderText="Comments" DataField="Comments" UniqueName="Comments" > <HeaderStyle Width="400px" /> </telerik:GridBoundColumn> <%-- Open Tracker project --%> <telerik:GridButtonColumn HeaderText="Actions" UniqueName="TrackerSingleProject" Text="Open Project" ButtonType="ImageButton" CommandName="OpenSingleTrackerProjectWindow" EnableHeaderContextMenu="false"> <HeaderStyle Width="200px" /> <ItemStyle CssClass="radgrid_lightblue_gradient" VerticalAlign="Middle" HorizontalAlign="Center" /> </telerik:GridButtonColumn> <%-- Search Tracker for DID --%> <telerik:GridButtonColumn HeaderText="Tracker" UniqueName="ViewTrackerInfo" Text="DID Search" ButtonType="ImageButton" CommandName="OpenFromCodeBehind" EnableHeaderContextMenu="false"> <HeaderStyle Width="200px" /> <ItemStyle CssClass="radgrid_lightblue_gradient" VerticalAlign="Middle" HorizontalAlign="Center" /> </telerik:GridButtonColumn> </Columns> <HeaderStyle VerticalAlign="Bottom" HorizontalAlign="Center" Wrap="false" Font-Bold="true" Font-Size="12pt" Font-Names="Connections" /> <ItemStyle Font-Size="10pt" Font-Names="Connections" /> <AlternatingItemStyle Font-Size="10pt" Font-Names="Connections" BackColor="WhiteSmoke" /> </MasterTableView> <ClientSettings> <Resizing AllowColumnResize="True" AllowRowResize="false" ResizeGridOnColumnResize="false" ClipCellContentOnResize="true" EnableRealTimeResize="false" AllowResizeToFit="true" /> <ClientEvents OnRowDblClick="rowDblClick" OnGridCreated="GridCreated" OnScroll="HandleScrolling" /> <%--<Scrolling AllowScroll="true" ScrollHeight="300px" UseStaticHeaders="true" SaveScrollPosition="true" FrozenColumnsCount="3" />--%> <Scrolling AllowScroll="true" ScrollHeight="300px" UseStaticHeaders="true" FrozenColumnsCount="3" /> <Virtualization EnableVirtualization="true" LoadingPanelID="radajaxloadingpanel_GridPanel" InitiallyCachedItemsCount="500" ItemsPerView="500" MaxCacheSize="2000" RetrievedItemsPerRequest="500" /> </ClientSettings> </telerik:RadGrid> </div> </td> </tr></table><telerik:RadWindow runat="server" ID="radwindow_TrackerInfo" Width="650px" Height="400px" ReloadOnShow="true" ShowContentDuringLoad="false" Modal="true"></telerik:RadWindow> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:COOD %>" SelectCommand="CVS.Get_ManagerList" SelectCommandType ="StoredProcedure" > </asp:SqlDataSource></asp:Content>
Below is vb code
Imports Telerik.Web.UIImports System.LinqImports System.DataImports System.Collections.GenericImports xi = Telerik.Web.UI.ExportInfrastructureImports System.IOImports Telerik.Web.UI.GridExcelBuilderImports System.DrawingPublic Class Manager : Inherits clsWebForm Dim ui As New clsUser Dim isExport As Boolean = False Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ui = CType(Session("User_Info_Map"), clsUser) Dim lblTitle As Label = TryCast(Master.FindControl("lblApplicationName"), Label) lblTitle.Text = String.Format("{0} - {1} Dashboard", Application("Title").ToString(), Path.GetFileNameWithoutExtension(Page.AppRelativeVirtualPath)) radimagebutton_mgr_MultipleProjects.CommandArgument = ui.PersonNumber.ToString hdnField_TrackerUrl.value = ConfigurationManager.AppSettings("TrackerAddress").ToString() radgrid_Dashboard.SortingSettings.SortToolTip = "Right Click Menu for options" 'load most current email settings. Try Dim dsManagerEmailSettings As DataSet = New DataSet Dim mgrEmailEnabled As Boolean = False Dim mgrEmailFreq As String = "Daily" Dim mgrDesktopSLA As Integer = 4 Dim mgrStandardSLA As Integer = 4 dsManagerEmailSettings = GetDataSet(String.Format("exec CVS.get_User_email_preferences {0}", ui.PersonNumber), False) If Not IsNothing(dsManagerEmailSettings) Then If Not IsDBNull(dsManagerEmailSettings.Tables(0).Rows(0)("Email_Enabled")) Then mgrEmailEnabled = dsManagerEmailSettings.Tables(0).Rows(0)("Email_Enabled") End If If Not IsDBNull(dsManagerEmailSettings.Tables(0).Rows(0)("Email_Descr")) Then mgrEmailFreq = dsManagerEmailSettings.Tables(0).Rows(0)("Email_Descr") End If If Not IsDBNull(dsManagerEmailSettings.Tables(0).Rows(0)("DesktopSLA")) Then mgrDesktopSLA = dsManagerEmailSettings.Tables(0).Rows(0)("DesktopSLA") End If If Not IsDBNull(dsManagerEmailSettings.Tables(0).Rows(0)("StandardsSLA")) Then mgrStandardSLA = dsManagerEmailSettings.Tables(0).Rows(0)("StandardsSLA") End If manageremail_MgrEmailPreferences.Manager_PersonNumber = ui.PersonNumber 'dsManagerEmailSettings.Tables(0).Rows(0)("Person_Num") manageremail_MgrEmailPreferences.Manager_EmailEnabled = mgrEmailEnabled manageremail_MgrEmailPreferences.Manager_EmailFrequency = mgrEmailFreq manageremail_MgrEmailPreferences.Manager_DesktopSLA = mgrDesktopSLA manageremail_MgrEmailPreferences.Manager_StandardsSLA = mgrStandardSLA 'manageremail_MgrEmailPreferences.Visible = True If Not IsDBNull(dsManagerEmailSettings.Tables(0).Rows(0)("Visible")) Then manageremail_MgrEmailPreferences.Manager_SLAVisible = dsManagerEmailSettings.Tables(0).Rows(0)("Visible") End If End If Catch ex As Exception lblMsg.Text = ex.Message End Try If Not Page.IsPostBack Then ui.UrlViews.Add(Request.RawUrl) load_sidemenu_and_radgrid(ui.PersonNumber) 'manageremail_MgrEmailPreferences.ChangeCheckBoxValue(False) End If End Sub Protected Sub load_sidemenu_and_radgrid(ByVal iPersonNumber As Integer) Try 'load all to one dataset (mulitple tables inside) '1-griddata '2-Summary data '3-Chart data 'pnlEmailPreferences.Visible = False 'pnlEmailPreferences.Enabled = False Dim qryCmd As String = String.Format("exec CVS.Get_Dashboard_Manager '{0}'", iPersonNumber) Dim dsMain As DataSet = GetDataSet(qryCmd, False) If Not IsNothing(dsMain) Then 'radgrid_Dashboard.DataSource = GetDataSet(qryCmd, False) rptStatusInfo.DataSource = dsMain.Tables(1) rptStatusInfo.DataBind() ' rptUpcomingItems.DataSource = dsMain.Tables(2) rptUpcomingItems.DataBind() RadHtmlChart_FrequencyMix.DataSource = dsMain.Tables(3) RadHtmlChart_FrequencyMix.DataBind() If (Not Session("GridDT") Is Nothing) Then Session.Remove("GridDT") End If Session("GridDT") = dsMain.Tables(0) 'radgrid_Dashboard.DataSource = dsMain.Tables(0) radgrid_Dashboard.DataSource = Session("GridDT") 'radgrid_Dashboard.DataSource = TryCast(Session("GridDT"), DataTable).AsEnumerable().Where(Function(row, index) index > 0 AndAlso index < 200).CopyToDataTable() radgrid_Dashboard.DataBind() 'radgrid_Dashboard.VirtualItemCount = TryCast(Session("GridDT"), DataTable).Rows.Count() End If Catch ex As Exception Response.Write(String.Format("Error in {0}<br/>Error Message:{1}", System.Reflection.MethodBase.GetCurrentMethod().Name, ex.Message)) End Try End Sub Protected Sub hyperButton_Click(sender As Object, e As EventArgs) 'RadWindowManager1.RadAlert("text", 350, 230, "title", "alertCallBackFn") Dim ui As clsUser = CType(Session("User_Info_Map"), clsUser) Dim ds As DataSet = GetDataSet(String.Format("select top 1 FullName,Person_Num, Manager_Person_Num ,GroupLeader_Person_Num from CVS.tbl_User_Detail where Standard_Id = '{0}' ", ui.UserId)) Dim sUserFullName As String = ds.Tables(0).Rows(0)("FullName").ToString() '= ExecuteSqlCmdScalar(String.Format("select FullName from CVS.tbl_User_Detail where Standard_Id = '{0}' ", ui.UserId)) Dim btn As Button = DirectCast(sender, Button) Select Case btn.CommandName Case "updateSearchBox_andPopulate" Dim radSrchBox As RadSearchBox = DirectCast(btn.Parent.FindControl(btn.CommandArgument), RadSearchBox) 'radsearch_UserName.Text = sUserFullName radSrchBox.Text = sUserFullName load_sidemenu_and_radgrid(ui.PersonNumber) End Select End Sub#Region "RadGrid" Protected Sub radgrid_Dashboard_NeedDataSource(sender As Object, e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles radgrid_Dashboard.NeedDataSource 'Dim iRadSearchBoxUserId As Integer = ExecuteSqlCmdScalar(String.Format("exec CVS.Get_SpecificUserDetail 'FullName', '{0}','Person_Num','int'", radsearch_UserName.Text)) 'Dim queryCmd As String = String.Format("exec CVS.Get_Dashboard_Manager '{0}'", IIf(iRadSearchBoxUserId = 0, ui.PersonNumber, iRadSearchBoxUserId)) 'TryCast(sender, RadGrid).DataSource = GetDataSet(queryCmd, False) Dim objGrid As RadGrid = TryCast(sender, RadGrid) objGrid.DataSource = Session("GridDT") 'Dim objGrid As RadGrid = TryCast(sender, RadGrid) 'objGrid.DataSource = TryCast(Session("GridDT"), DataTable).Select(String.Format("ID >={1} and ID<={0} ", objGrid.CurrentPageIndex * objGrid.PageSize, objGrid.CurrentPageIndex + 1), "ID") 'Dim firstRowId As Integer = objGrid.CurrentPageIndex * objGrid.PageSize 'Dim secondRowId As Integer = (objGrid.CurrentPageIndex + 1) * objGrid.PageSize 'If isExport Then ' firstRowId = 0 ' secondRowId = TryCast(Session("GridDT"), DataTable).Rows.Count() 'End If 'objGrid.DataSource = TryCast(Session("GridDT"), DataTable).Select(String.Format("ID >={0} and ID<={1} ", firstRowId, secondRowId), "ID") End Sub Protected Sub radgrid_Dashboard_ItemCreated(sender As Object, e As GridItemEventArgs) If ((e.Item.ItemType = GridItemType.FilteringItem) And (isExport)) Then e.Item.Visible = False End If If (e.Item.ItemType = GridItemType.Header) Then Dim hItem As GridHeaderItem = DirectCast(e.Item, GridHeaderItem) Dim chk1 As CheckBox = DirectCast(hItem.FindControl("checkAll"), CheckBox) End If End Sub Protected Sub radgrid_Dashboard_ItemDataBound(sender As Object, e As GridItemEventArgs) If (TypeOf (e.Item) Is GridDataItem) Then Dim objDataBoundItem As GridDataItem = DirectCast(e.Item, GridDataItem) Dim DBCELLCOLORNAME As String = IIf(IsDBNull(objDataBoundItem("Document_Status_Color").Text), "WHITE", objDataBoundItem("Document_Status_Color").Text) objDataBoundItem("Next_Review_DtTM").BackColor = Drawing.Color.FromName(DBCELLCOLORNAME) objDataBoundItem("Chapter").Text = objDataBoundItem("Chapter").Text.Replace("|", "<br/>") objDataBoundItem("Chapter").Text = objDataBoundItem("Chapter").Text.Replace("&", "&") objDataBoundItem("Topic_Grouping").Text = objDataBoundItem("Topic_Grouping").Text.Replace("|", "<br/>") objDataBoundItem("Primary_Manager").Text = objDataBoundItem("Primary_Manager").Text.Replace("|", "<br/>") objDataBoundItem("Manager").Text = objDataBoundItem("Manager").Text.Replace("|", "<br/>") objDataBoundItem("ContentOwners").Text = objDataBoundItem("ContentOwners").Text.Replace("|", "<br/>") objDataBoundItem("Team_Name").Text = objDataBoundItem("Team_Name").Text.Replace("|", "<br/>") objDataBoundItem("Stakeholders").Text = objDataBoundItem("Stakeholders").Text.Replace("|", "<br/>") Dim DID As String = objDataBoundItem.DataItem("DocumentId") Dim Title As String = objDataBoundItem.DataItem("Title") Dim Chapter As String = objDataBoundItem.DataItem("Chapter") 'Dim lblTitle As Label = TryCast(Master.FindControl("lblApplicationName"), Label) Dim objCtrlImage As System.Web.UI.WebControls.Image = TryCast(objDataBoundItem.FindControl("img_GapFlag"), System.Web.UI.WebControls.Image) objCtrlImage.ImageUrl = IIf(IsDBNull(objDataBoundItem.DataItem("GapFlag")), "", objDataBoundItem.DataItem("GapFlag")) 'objCtrlImage.ImageUrl = TryCast(objDataBoundItem("GapFlag").Controls(0), System.Web.UI.WebControls.Image).ImageUrl End If End Sub Protected Sub radgrid_Dashboard_SortCommand(sender As Object, e As GridSortCommandEventArgs) 'To allow only sorting by Ascending 'If Not e.Item.OwnerTableView.SortExpressions.ContainsExpression(e.SortExpression) Then ' Dim sortExpr As New GridSortExpression() ' sortExpr.FieldName = e.SortExpression ' sortExpr.SortOrder = GridSortOrder.Ascending ' e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr) 'End If End Sub Protected Sub radgrid_Dashboard_ExcelMLWorkBookCreated(sender As Object, e As GridExcelBuilder.GridExcelMLWorkBookCreatedEventArgs) Dim objTable As TableElement = e.WorkBook.Worksheets(0).Table For Each objRow As RowElement In objTable.Rows 'ApplyRowStyle(objRow, "CommonRow") Next End Sub Protected Sub radgrid_Dashboard_ExcelMLExportRowCreated(sender As Object, e As GridExportExcelMLRowCreatedArgs) Dim strTmp As String strtmp = "" End Sub Protected Sub radgrid_Dashboard_InfrastructureExporting(sender As Object, e As GridInfrastructureExportingEventArgs) Dim CharacterPixelLength As Double = 7.25 e.ExportStructure.Tables(0).Rows(1).Style.BackColor = Color.Black e.ExportStructure.Tables(0).Rows(1).Style.ForeColor = Color.White e.ExportStructure.Tables(0).Rows(2).Height = 0.0 'hide filter row e.ExportStructure.ColumnWidthUnit = ExportInfrastructure.ExportUnitType.Pixel Dim lstOfColumnWidths As New List(Of Integer) For Each objcell As ExportInfrastructure.Cell In e.ExportStructure.Tables(0).Rows(1).Cells lstOfColumnWidths.Add(e.ExportStructure.Tables(0).Columns(objcell.ColIndex).Width) Next 'data rows For i As Integer = 2 To e.ExportStructure.Tables(0).Rows.Count 'e.ExportStructure.Tables(0).Rows(i).Style.BackColor = IIf(i Mod 2 = 0, Color.White, Color.LightGray) For Each objCell As ExportInfrastructure.Cell In e.ExportStructure.Tables(0).Rows(i).Cells objCell.Value = objCell.Text.Replace(Chr(10), ";") objCell.Value = objCell.Text.Replace("&", "&").Replace(""", """").Replace("<", "<").Replace(">", ">") If lstOfColumnWidths(objCell.ColIndex - 1) < (CharacterPixelLength * objCell.Text.Length) Then lstOfColumnWidths(objCell.ColIndex - 1) = (CharacterPixelLength * objCell.Text.Length) End If objCell.Style.BackColor = IIf(objCell.Style.BackColor.Name = "", Color.White, objCell.Style.BackColor) objCell.Style.HorizontalAlign = HorizontalAlign.Left objCell.Style.BorderTopStyle = BorderStyle.Solid objCell.Style.BorderBottomStyle = BorderStyle.Solid objCell.Style.BorderLeftStyle = BorderStyle.Solid objCell.Style.BorderRightStyle = BorderStyle.Solid objCell.Style.BorderBottomColor = Color.Black objCell.Style.BorderTopColor = Color.Black objCell.Style.BorderLeftColor = Color.Black objCell.Style.BorderRightColor = Color.Black Next Next For Each objcell As ExportInfrastructure.Cell In e.ExportStructure.Tables(0).Rows(1).Cells e.ExportStructure.Tables(0).Columns(objcell.ColIndex).Width = lstOfColumnWidths(objcell.ColIndex - 1) 'e.ExportStructure.Tables(0).Columns(objcell.ColIndex).Width = 360 Next radgrid_Dashboard.ClientSettings.Virtualization.ItemsPerView = 500 isExport = False End Sub Protected Sub radgrid_Dashboard_FilterCheckListItemsRequested(sender As Object, e As GridFilterCheckListItemsRequestedEventArgs) Dim objDataField As String = String.Empty Dim objRadGrid As RadGrid = TryCast(sender, RadGrid) If (TypeOf e.Column Is GridBoundColumn) Then objDataField = TryCast(e.Column, IGridDataColumn).GetActiveDataField() Else objDataField = TryCast(e.Column, GridTemplateColumn).HeaderText 'Dim msgtxt As String = e.Column.ColumnType.ToString() End If e.ListBox.DataSource = GetFilterListDataSetByColumn(objDataField) e.ListBox.DataKeyField = objDataField e.ListBox.DataTextField = objDataField e.ListBox.DataValueField = objDataField e.ListBox.DataBind() 'radgrid_Dashboard.Rebind() End Sub Protected Function GetFilterListDataSetByColumn(ByVal objColumnName As String) As DataSet Dim iRadSearchBoxUserId As Integer = ExecuteSqlCmdScalar(String.Format("exec CVS.Get_SpecificUserDetail 'FullName', '{0}','Person_Num','int'", radsearch_UserName.Text)) Dim qryCmd As String = String.Format("exec CVS.Get_Document_ColumnByUserId '{0}','{1}'", objColumnName, IIf(iRadSearchBoxUserId = 0, ui.PersonNumber, iRadSearchBoxUserId)) 'qryCmd = String.Format("select '{0}'='1'", objColumnName) GetFilterListDataSetByColumn = GetDataSet(qryCmd, False) End Function Protected Sub radgrid_Dashboard_ItemCommand(ByVal sender As Object, ByVal e As GridCommandEventArgs) Handles radgrid_Dashboard.ItemCommand Dim documentid As String = String.Empty Dim ictr As Integer = 0 Try 'RadWindowManager1.RadAlert(e.CommandName, 300, 300, "Check", "") If ((Not e.CommandName = "Sort") And (Not e.CommandName = "HeaderContextMenuFilter") And (Not e.CommandName = "ChangePageSize")) Then 'documentid = radgrid_Dashboard.MasterTableView.DataKeyValues(e.CommandArgument)("DocumentId") documentid = radgrid_Dashboard.MasterTableView.DataKeyValues(e.Item.ItemIndex)("DocumentId") Dim script As String = String.Empty Select Case e.CommandName Case "OpenSingleTrackerProjectWindow" script = String.Format("function f(){0}OpenTrackerProject(',{2},','{3}'); Sys.Application.remove_load(f);{1}Sys.Application.add_load(f);", "{", "}", documentid, ui.PersonNumber) 'ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, True) Case "OpenFromCodeBehind" script = String.Format("function f(){0}OpenRadWin(',{2},'); Sys.Application.remove_load(f);{1}Sys.Application.add_load(f);", "{", "}", documentid) ''RadWindowManager1.RadAlert("DID Search:" + documentid, 300, 300, "Check", "") Case "nothing" 'radwindow_TrackerInfo.NavigateUrl = String.Format("http://procmgmt-contentvalidation-dev.bankofamerica.com/TrackerInfo.aspx?did={0}", documentid) 'radwindow_TrackerInfo.ReloadOnShow = True 'radwindow_TrackerInfo.ShowContentDuringLoad = False 'script = "function f(){$find(""" + radwindow_TrackerInfo.ClientID + """).show(); Sys.Application.remove_load(f);}Sys.Application.add_load(f);" Case Else End Select If script.Length > 0 Then ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", script, True) End If End If Catch ex As Exception Response.Write(String.Format("Error in {0}", System.Reflection.MethodBase.GetCurrentMethod().Name)) End Try End Sub#End Region#Region "Command Item Types" Protected Sub radsearch_UserName_Search(sender As Object, e As SearchBoxEventArgs) 'radgrid_Dashboard.ClientSettings.Virtualization.ItemsPerView = 100 'If isExport = True Then ' radgrid_Dashboard.ClientSettings.Virtualization.ItemsPerView = 60000 'End If If (e.DataItem IsNot Nothing) Then Dim di = DirectCast(e.DataItem, Dictionary(Of String, Object)) load_sidemenu_and_radgrid(di("userid")) End If End Sub Protected Sub radsearch_UserName_DataSourceSelect(sender As Object, e As Telerik.Web.UI.SearchBoxDataSourceSelectEventArgs) Dim src As SqlDataSource = DirectCast(e.DataSource, SqlDataSource) Dim searchBox As RadSearchBox = DirectCast(sender, RadSearchBox) Dim likeCondition As String = String.Format("'{0}' + @filterString + '%'", If(searchBox.Filter = SearchBoxFilter.Contains, "%", "")) Dim countCondition As String = If(e.ShowAllResults, " ", " TOP " + (searchBox.MaxResultCount).ToString()) If e.SelectedContextItem IsNot Nothing Then likeCondition = String.Format("{0} and GL_FullName={1}", likeCondition, e.SelectedContextItem.Key) End If Dim sSqlCmd As String = "CVS.Get_ManagerList" src.SelectCommand = sSqlCmd src.SelectParameters.Add("whereClause", e.FilterString.Replace("%", "[%]").Replace("_", "[_]")) End Sub Protected Sub ImageButton_Click(sender As Object, e As ImageClickEventArgs) isExport = True 'For Each col As Telerik.Web.UI.GridColumn In radgrid_Dashboard.MasterTableView.Columns ' radgrid_Dashboard.MasterTableView.GetColumn(col.UniqueName).HeaderStyle.BackColor = Color.Gray ' radgrid_Dashboard.MasterTableView.GetColumn(col.UniqueName).HeaderStyle.ForeColor = Color.White 'Next 'radgrid_Dashboard.MasterTableView.GetColumn("DocumentID").HeaderStyle.BackColor = Color.LightGray 'radgrid_Dashboard.MasterTableView.GetColumn("Category").ItemStyle.BackColor = Color.LightGray 'radgrid_Dashboard.MasterTableView.GetColumn("GapFlag").Visible = False 'radgrid_Dashboard.MasterTableView.GetColumn("GapFlag2").Visible = False radgrid_Dashboard.MasterTableView.GetColumn("SelectItem").Visible = False radgrid_Dashboard.MasterTableView.GetColumn("TitleLink").Visible = False radgrid_Dashboard.MasterTableView.GetColumn("TitleExport").Display = True radgrid_Dashboard.ExportSettings.IgnorePaging = True 'radgrid_Dashboard.ExportSettings.ExportOnlyData = True 'clear filters 'radgrid_Dashboard.MasterTableView.FilterExpression = "" 'For Each objGridCol As GridColumn In radgrid_Dashboard.Columns ' objGridCol.CurrentFilterFunction = GridKnownFunction.NoFilter ' objGridCol.CurrentFilterValue = "" 'Next Dim intRowsPerBatch As Integer = TryCast(Session("GridDT"), DataTable).Rows.Count() intRowsPerBatch = IIf(intRowsPerBatch < 50, 50, intRowsPerBatch) radgrid_Dashboard.ClientSettings.Virtualization.ItemsPerView = intRowsPerBatch radgrid_Dashboard.ExportSettings.FileName = String.Format("ManagerDashboard_{1}_{0:MM_dd_yyyy_hhmm}", Now, IIf(String.IsNullOrEmpty(radsearch_UserName.Text.ToString()), ui.UserName, radsearch_UserName.Text)) radgrid_Dashboard.ExportSettings.OpenInNewWindow = True radgrid_Dashboard.MasterTableView.ExportToExcel() End Sub#End Region Protected Sub RadAjaxManager_001_AjaxRequest(sender As Object, e As AjaxRequestEventArgs) Dim tstStop As String = String.Empty 'radgrid_Dashboard.ClientSettings.Virtualization.ItemsPerView = 'radgrid_Dashboard.PageSize = TryCast(Session("GridDT"), DataTable).Rows.Count() 'radgrid_Dashboard.Rebind() End SubEnd Class