or



<%@ Page Title="List of WoWs" Language="VB" MasterPageFile="~/wowsearch.master" AutoEventWireup="false" CodeFile="WoWlist.aspx.vb" Inherits="WoWlist" %><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> <title>R&D Campus WoWs List</title></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="qckSwitch" Runat="Server"> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/WoWsearch.aspx">switch to search tool</asp:HyperLink></asp:Content><asp:Content ID="Content3" ContentPlaceHolderID="cntBody" Runat="Server"> <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> //<![CDATA[ var RadGrid1; var lnkShareFilter; lnkShareFilter = ''; function GetGridObject(sender, eventArgs) { RadGrid1 = sender; } function ExportToExcel(fileName) { RadGrid1.get_masterTableView().exportToExcel(fileName); } //]]> </script> </telerik:RadCodeBlock> <telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="False" CellSpacing="0" DataSourceID="sqlWoWList" GridLines="None" PageSize="20" EnableLinqExpressions="false" Width="100%" Height="100%"> <ClientSettings> <Scrolling AllowScroll="True" UseStaticHeaders="True" /> <ClientEvents OnGridCreated="GetGridObject"></ClientEvents> </ClientSettings> <ExportSettings ExportOnlyData="true" FileName="List of WoWs" HideStructureColumns="true" IgnorePaging="true" > <Excel Format="ExcelML" /> </ExportSettings> <MasterTableView AutoGenerateColumns="False" DataSourceID="sqlWoWList" CommandItemDisplay="Top"> <NoRecordsTemplate> <table width="100%" border="0" cellpadding="20" cellspacing="20"> <tr> <td align="center"> <h2 style="color:Red">No WoWs or SOPs found.<br />Please change or reset the filter.</h2> </td> </tr> </table> </NoRecordsTemplate> <CommandItemSettings ShowExportToExcelButton="true" ShowAddNewRecordButton="false" ShowRefreshButton="false" /> <CommandItemTemplate> <div id="cmdContainer" style="width: 99%; padding: 10px; text-align: right;"> <a href="http://teamroom.nestle.com/GLOBEISIT/PTCOrbeBPMAcademy/Induction ; Training Materials/Training and Quick Reference Materials/Campus Search QRC.pdf" target="_blank" style="padding: 5px; border: 1px solid gray; margin: 0px 5px;"> <img src="../App_Themes/OneRDCampus/images/question-white.png" style="border: none; vertical-align: text-bottom;" /> How To </a> <a href="WoWlist.aspx" style="padding: 5px; border: 1px solid gray; margin: 0px 5px;"> <img src="../App_Themes/OneRDCampus/images/filter_(delete)_16x16.gif" style="border: none; vertical-align: text-bottom;" /> Reset filters </a> <a id="lnkShareFilter" onserverclick="lnkShareFilter_ServerClick" href="#" runat="server" style="padding: 5px; border: 1px solid gray; margin: 0px 5px;"> <img src="../App_Themes/OneRDCampus/images/bpm_email.png" style="border: none; vertical-align: text-bottom;" /> Share filter </a> <a href="#" runat="server" onclick="ExportToExcel('WoWlist');" style="padding: 5px; border: 1px solid gray; margin: 0px 5px;"> <img src="../App_Themes/OneRDCampus/images/Export2XL.gif" style="border: none; vertical-align: text-bottom;" /> Export to excel </a> </div> </CommandItemTemplate> <Columns> <telerik:GridTemplateColumn DataField="Title" CurrentFilterFunction="NoFilter" HeaderText="Title" HeaderTooltip="Title of the WoW or document (roll-over to display the purpose)" SortExpression="Title" UniqueName="Title" FilterControlAltText="Filter Title Column" FilterListOptions="AllowAllFilters" AutoPostBackOnFilter="true" ShowFilterIcon="false" FilterControlWidth="100%"> <ItemTemplate> <asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl='<%#Eval("myURL")%>' ToolTip='<%#Eval("Purpose")%>' Target='<%#Eval("URLTarget")%>'><%#Eval("Title")%></asp:HyperLink> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="DiagramOwner" CurrentFilterFunction="NoFilter" FilterControlAltText="Filter DiagramOwner column" HeaderText="Owner" ReadOnly="True" SortExpression="DiagramOwner" UniqueName="DiagramOwner" AutoPostBackOnFilter="true" ShowFilterIcon="false" FilterControlWidth="100%" HeaderTooltip="Owner of the WoW or document"> <HeaderStyle Width="130px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Unit" CurrentFilterFunction="NoFilter" FilterControlAltText="Filter Unit column" HeaderText="Unit" SortExpression="Unit" UniqueName="Unit" HeaderTooltip="Unit that the WoW or document belongs to"> <HeaderStyle Width="120px" /> <FilterTemplate> <telerik:RadComboBox ID="RadComboBoxUnit" runat="server" MaxHeight="200px" Width="110px" DropDownWidth="130px" DataSourceID="sqlUnits" DataTextField="Unit" DataValueField="Unit" AppendDataBoundItems="true" SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("Unit").CurrentFilterValue%>' OnClientSelectedIndexChanged="UnitIndexChanged"> <Items> <telerik:RadComboBoxItem Text="All" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="RadScriptBlock4" runat="server"> <script type="text/javascript"> function UnitIndexChanged(sender, args) { var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID%>"); tableView.filter("Unit", args.get_item().get_value(), "Contains"); lnkShareFilter &= '&Unit=' & args.get_item().get_value(); } </script> </telerik:RadScriptBlock> </FilterTemplate> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Type" CurrentFilterFunction="NoFilter" FilterControlAltText="Filter Type column" HeaderText="Type" SortExpression="Type" UniqueName="Type" FilterControlWidth="50px" HeaderTooltip="Type of WoW or document"> <HeaderStyle Width="90px" /> <FilterTemplate> <telerik:RadComboBox ID="RadComboBoxType" runat="server" Width="80px" DropDownWidth="130px" DataSourceID="sqlTypes" DataTextField="Type" DataValueField="Type" AppendDataBoundItems="true" SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("Type").CurrentFilterValue%>' OnClientSelectedIndexChanged="TypeIndexChanged"> <Items> <telerik:RadComboBoxItem Text="All" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="RadScriptBlock3" runat="server"> <script type="text/javascript"> function TypeIndexChanged(sender, args) { var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID%>"); tableView.filter("Type", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Building" CurrentFilterFunction="NoFilter" FilterControlAltText="Filter by Group" HeaderText="Building/Group" SortExpression="Building" UniqueName="Building" HeaderTooltip="Campus Building or other local grouping" > <HeaderStyle Width="120px" /> <FilterTemplate> <telerik:RadComboBox ID="RadComboBoxBuilding" runat="server" MaxHeight="200px" Width="110px" DropDownWidth="160px" DataSourceID="sqlBuildings" DataTextField="Building" DataValueField="Building" AppendDataBoundItems="true" SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("Building").CurrentFilterValue%>' OnClientSelectedIndexChanged="BuildingIndexChanged"> <Items> <telerik:RadComboBoxItem Text="All" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> function BuildingIndexChanged(sender, args) { var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID%>"); tableView.filter("Building", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Room" CurrentFilterFunction="NoFilter" FilterControlAltText="Filter Sub-Grouping column" HeaderText="Room/Sub-Group" SortExpression="Room" UniqueName="Room" HeaderTooltip="Campus Room or other local sub-grouping"> <HeaderStyle Width="140px" /> <FilterTemplate> <telerik:RadComboBox ID="RadComboBoxRoom" runat="server" MaxHeight="200px" Width="130px" DropDownWidth="260px" DataSourceID="sqlRooms" DataTextField="Room" DataValueField="Room" AppendDataBoundItems="true" SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("Room").CurrentFilterValue%>' OnClientSelectedIndexChanged="RoomIndexChanged"> <Items> <telerik:RadComboBoxItem Text="All" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="RadScriptBlock2" runat="server"> <script type="text/javascript"> function RoomIndexChanged(sender, args) { var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID%>"); tableView.filter("Room", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="IsReleased" FilterControlAltText="Filter IsReleased column" HeaderText="Released" SortExpression="IsReleased" UniqueName="IsReleased" HeaderTooltip="Is the WoW or document released and publically available?"> <HeaderStyle Width="55px" /> <FilterTemplate> <telerik:RadComboBox ID="RadComboBoxIsReleased" runat="server" Width="42px" DropDownAutoWidth="Enabled" SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("IsReleased").CurrentFilterValue%>' OnClientSelectedIndexChanged="IsReleasedIndexChanged"> <Items> <telerik:RadComboBoxItem Text="All" /> <telerik:RadComboBoxItem Text="Yes" Value="Yes" /> <telerik:RadComboBoxItem Text="No" Value="No" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="RadScriptBlock5" runat="server"> <script type="text/javascript"> function IsReleasedIndexChanged(sender, args) { var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID%>"); tableView.filter("IsReleased", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="NQMSRelated" CurrentFilterFunction="NoFilter" FilterControlAltText="Filter NIMS column" HeaderText="Compliance" SortExpression="NQMSRelated"" UniqueName="NQMSRelated" HeaderTooltip="Is the WoW or document subject to Compliance?"> <HeaderStyle Width="50px" /> <FilterTemplate> <telerik:RadComboBox ID="RadComboBoxNQMSRelated" runat="server" Width="42px" DropDownAutoWidth="Enabled" SelectedValue='<%# TryCast(Container, GridItem).OwnerTableView.GetColumn("NQMSRelated").CurrentFilterValue%>' OnClientSelectedIndexChanged="NQMSRelatedIndexChanged"> <Items> <telerik:RadComboBoxItem Text="All" /> <telerik:RadComboBoxItem Text="Yes" Value="Yes" /> <telerik:RadComboBoxItem Text="No" Value="No" /> </Items> </telerik:RadComboBox> <telerik:RadScriptBlock ID="RadScriptBlock6" runat="server"> <script type="text/javascript"> function NQMSRelatedIndexChanged(sender, args) { var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID%>"); tableView.filter("NQMSRelated", args.get_item().get_value(), "EqualTo"); } </script> </telerik:RadScriptBlock> </FilterTemplate> </telerik:GridBoundColumn> </Columns> </MasterTableView> <GroupingSettings CaseSensitive="false" /> </telerik:RadGrid> <asp:SqlDataSource ID="sqlUnits" runat="server" ConnectionString="<%$ ConnectionStrings:Hydra_DevConnectionString %>" SelectCommand="SELECT DISTINCT [Unit] FROM [WoW_VWR_Trackers] WHERE [Unit] IS NOT NULL ORDER BY [Unit]"> </asp:SqlDataSource> <asp:SqlDataSource ID="sqlTypes" runat="server" ConnectionString="<%$ ConnectionStrings:Hydra_DevConnectionString %>" SelectCommand="SELECT DISTINCT [Type] FROM [WoW_VWR_Trackers] ORDER BY [Type]"></asp:SqlDataSource> <asp:SqlDataSource ID="sqlBuildings" runat="server" ConnectionString="<%$ ConnectionStrings:Hydra_DevConnectionString %>" SelectCommand="SELECT DISTINCT [Building] FROM [WoW_VWR_Trackers] WHERE [Building] IS NOT NULL ORDER BY [Building]"> </asp:SqlDataSource> <asp:SqlDataSource ID="sqlRooms" runat="server" ConnectionString="<%$ ConnectionStrings:Hydra_DevConnectionString %>" SelectCommand="SELECT DISTINCT [Room] FROM [WoW_VWR_Trackers] WHERE [Room] IS NOT NULL ORDER BY [Room]"> </asp:SqlDataSource> <asp:SqlDataSource ID="sqlWoWList" runat="server" ConnectionString="<%$ ConnectionStrings:Hydra_DevConnectionString %>" SelectCommand="SELECT DiagramURL AS myURL, * FROM [Hydra_Dev].[dbo].[WoW_VWR_Trackers]"> </asp:SqlDataSource></asp:Content>Imports Telerik.Web.UIImports System.DiagnosticsImports System.Collections.Specialized.NameObjectCollectionBaseImports System.NetImports System.IOImports System.Net.MailPartial Class WoWlist Inherits System.Web.UI.Page Const lvlVerboseNone As Integer = 0 Const lvlVerboseSilent As Integer = 1 Const lvlVerboseMail As Integer = 2 Const lvlVerboseScreen As Integer = 4 Const lvlVerbose As Integer = lvlVerboseSilent Dim ShareFilter As Object Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim IsDataSyncd As Boolean = CheckDataSync() If lvlVerbose = lvlVerboseMail Then SendChkMail() End If If Not IsDataSyncd Then 'Launch DataSync End If If Not IsPostBack Then If Request.QueryString("Title") IsNot Nothing Then Dim myTitle As String = Server.UrlDecode(Request.QueryString("Title").ToString) If RadGrid1.MasterTableView.FilterExpression <> "" Then RadGrid1.MasterTableView.FilterExpression &= " AND " End If RadGrid1.MasterTableView.FilterExpression &= "(Title LIKE '" & myTitle & "')" Dim radColumn As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("Title") radColumn.CurrentFilterValue = myTitle radColumn.CurrentFilterFunction = GridKnownFunction.Contains End If If Request.QueryString("Owner") IsNot Nothing Then Dim myOwner As String = Server.UrlDecode(Request.QueryString("Owner").ToString) If RadGrid1.MasterTableView.FilterExpression <> "" Then RadGrid1.MasterTableView.FilterExpression &= " AND " End If RadGrid1.MasterTableView.FilterExpression &= "(DiagramOwner LIKE '" & myOwner & "')" Dim radColumn As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("DiagramOwner") radColumn.CurrentFilterValue = myOwner radColumn.CurrentFilterFunction = GridKnownFunction.Contains End If If Request.QueryString("Building") IsNot Nothing Then Dim myBuilding As String = Server.UrlDecode(Request.QueryString("Building").ToString) If RadGrid1.MasterTableView.FilterExpression <> "" Then RadGrid1.MasterTableView.FilterExpression &= " AND " End If RadGrid1.MasterTableView.FilterExpression &= "(Building LIKE '" & myBuilding & "')" Dim radColumn As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("Building") radColumn.CurrentFilterValue = myBuilding radColumn.CurrentFilterFunction = GridKnownFunction.EqualTo End If If Request.QueryString("Unit") IsNot Nothing Then Dim myUnit As String = Server.UrlDecode(Request.QueryString("Unit").ToString) If RadGrid1.MasterTableView.FilterExpression <> "" Then RadGrid1.MasterTableView.FilterExpression &= " AND " End If RadGrid1.MasterTableView.FilterExpression &= "(Unit LIKE '" & myUnit & "')" Dim radColumn As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("Unit") radColumn.CurrentFilterValue = myUnit radColumn.CurrentFilterFunction = GridKnownFunction.EqualTo End If If Request.QueryString("Room") IsNot Nothing Then Dim myRoom As String = Server.UrlDecode(Request.QueryString("Room").ToString) If RadGrid1.MasterTableView.FilterExpression <> "" Then RadGrid1.MasterTableView.FilterExpression &= " AND " End If RadGrid1.MasterTableView.FilterExpression &= "(Room LIKE '" & myRoom & "')" Dim radColumn As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("Room") radColumn.CurrentFilterValue = myRoom radColumn.CurrentFilterFunction = GridKnownFunction.EqualTo End If If Request.QueryString("Type") IsNot Nothing Then Dim myType As String = Server.UrlDecode(Request.QueryString("Type").ToString) If RadGrid1.MasterTableView.FilterExpression <> "" Then RadGrid1.MasterTableView.FilterExpression &= " AND " End If RadGrid1.MasterTableView.FilterExpression &= "(Type LIKE '" & myType & "')" Dim radColumn As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("Type") radColumn.CurrentFilterValue = myType radColumn.CurrentFilterFunction = GridKnownFunction.EqualTo End If If Request.QueryString("Owner") IsNot Nothing Then Dim myOwner As String = Server.UrlDecode(Request.QueryString("Owner").ToString) If RadGrid1.MasterTableView.FilterExpression <> "" Then RadGrid1.MasterTableView.FilterExpression &= " AND " End If RadGrid1.MasterTableView.FilterExpression &= "(DiagramOwner LIKE '" & myOwner & "')" Dim radColumn As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("DiagramOwner") radColumn.CurrentFilterValue = myOwner radColumn.CurrentFilterFunction = GridKnownFunction.EqualTo End If If Request.QueryString("IsReleased") IsNot Nothing Then If RadGrid1.MasterTableView.FilterExpression <> "" Then RadGrid1.MasterTableView.FilterExpression &= " AND " End If RadGrid1.MasterTableView.FilterExpression &= "(IsReleased LIKE '" & Request.QueryString("IsReleased").ToString & "')" Dim radColumn As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("IsReleased") radColumn.CurrentFilterValue = Request.QueryString("IsReleased").ToString radColumn.CurrentFilterFunction = GridKnownFunction.EqualTo Else If Request.QueryString("IsReleased") Is Nothing And Request.QueryString("Owner") Is Nothing And Request.QueryString("Type") Is Nothing And Request.QueryString("Room") Is Nothing And Request.QueryString("Unit") Is Nothing Then If RadGrid1.MasterTableView.FilterExpression <> "" Then RadGrid1.MasterTableView.FilterExpression &= " AND " End If RadGrid1.MasterTableView.FilterExpression &= "(IsReleased LIKE 'Yes')" Dim radColumn As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("IsReleased") radColumn.CurrentFilterValue = "Yes" radColumn.CurrentFilterFunction = GridKnownFunction.EqualTo End If End If If Request.QueryString("NQMSRelated") IsNot Nothing Then If RadGrid1.MasterTableView.FilterExpression <> "" Then RadGrid1.MasterTableView.FilterExpression &= " AND " End If RadGrid1.MasterTableView.FilterExpression &= "(NQMSRelated LIKE '" & Request.QueryString("NQMSRelated").ToString & "')" Dim radColumn As GridColumn = RadGrid1.MasterTableView.GetColumnSafe("NQMSRelated") radColumn.CurrentFilterValue = Request.QueryString("NQMSRelated").ToString radColumn.CurrentFilterFunction = GridKnownFunction.EqualTo End If 'RadGrid1.MasterTableView.Rebind() End If ' FilterExpression="([IsReleased] LIKE 'Yes')" End Sub Private Function CheckDataSync() As Boolean Return True End Function Private Function SendChkMail() As Boolean Return False End Function Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init End Sub Private Sub RadGrid1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.Load End Sub Private Sub RadGrid1_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) For Each item As GridColumn In RadGrid1.MasterTableView.Columns Dim FilterFunction As String = item.CurrentFilterFunction.ToString Dim FilterValue As String = item.CurrentFilterValue.ToString Dim FilterColumn As String = item.UniqueName.ToString If FilterFunction <> "NoFilter" Then If item.CurrentFilterValue.ToString() = "" Then item.ItemStyle.BackColor = RadGrid1.AlternatingItemStyle.BackColor Else item.ItemStyle.BackColor = Drawing.Color.LightYellow End If End If Next End Sub Protected Sub RadGrid1_PreRender(ByVal source As Object, ByVal e As System.EventArgs) Handles RadGrid1.PreRender If Not RadGrid1.MasterTableView.FilterExpression Is String.Empty Then RefreshCombos() End If For Each item As GridColumn In RadGrid1.MasterTableView.Columns Dim FilterFunction As String = item.CurrentFilterFunction.ToString Dim FilterValue As String = item.CurrentFilterValue.ToString Dim FilterColumn As String = item.UniqueName.ToString If FilterFunction <> "NoFilter" Then If item.CurrentFilterValue.ToString() = "" Then item.ItemStyle.BackColor = RadGrid1.AlternatingItemStyle.BackColor Else item.ItemStyle.BackColor = Drawing.Color.LightYellow End If End If Next End Sub Protected Sub RefreshCombos() sqlBuildings.SelectCommand = AddFilterParameters(sqlBuildings.SelectCommand, RadGrid1.MasterTableView.FilterExpression.ToString()) sqlRooms.SelectCommand = AddFilterParameters(sqlRooms.SelectCommand, RadGrid1.MasterTableView.FilterExpression.ToString()) sqlTypes.SelectCommand = AddFilterParameters(sqlTypes.SelectCommand, RadGrid1.MasterTableView.FilterExpression.ToString()) sqlUnits.SelectCommand = AddFilterParameters(sqlUnits.SelectCommand, RadGrid1.MasterTableView.FilterExpression.ToString()) RadGrid1.MasterTableView.Rebind() End Sub Private Function AddFilterParameters(ByVal sqlSelect As String, FilterExpression As String) As String Dim posORDER As Int16 = 0 posORDER = InStr(sqlSelect, "ORDER BY", CompareMethod.Text) - 1 Dim sqlOrder As String = Right(sqlSelect, Len(sqlSelect) - posORDER) Dim posWHERE As Int16 = 0 posWHERE = InStr(sqlSelect, "WHERE", CompareMethod.Text) - 2 Dim sqlCommand As String = "" If posWHERE < 0 Then sqlCommand = Left(sqlSelect, posORDER) Else sqlCommand = Left(sqlSelect, posWHERE) End If Dim sqlFilter As String = "" If posWHERE > 2 Then sqlFilter = Mid(sqlSelect, posWHERE + 8, posORDER - posWHERE - 8) End If If sqlFilter.Length > 0 Then If Left(FilterExpression, 5) <> " AND " Then sqlFilter &= " AND " End If End If sqlFilter &= FilterExpression sqlCommand &= " WHERE " & sqlFilter Return sqlCommand End Function Private Sub RadGrid1_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadGrid1.Init Dim menu As GridFilterMenu = RadGrid1.FilterMenu Dim i As Integer = 0 While i < menu.Items.Count If menu.Items(i).Text = "NoFilter" Or _ menu.Items(i).Text = "Contains" Or _ menu.Items(i).Text = "EqualTo" Then i = i + 1 Else menu.Items.RemoveAt(i) End If End While End Sub Private Sub RadGrid1_ItemCommand(sender As Object, e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid1.ItemCommand If e.CommandName = RadGrid.FilterCommandName Then Dim objFilterPair As Pair = CType(e.CommandArgument, Pair) Dim objCol As GridColumn = CType(e.Item.OwnerTableView.GetColumn(objFilterPair.Second.ToString()), GridColumn) Debug.Print("[" & objFilterPair.First.ToString & "]:[" & objFilterPair.Second.ToString & "] = [" & objCol.CurrentFilterValue.ToString() & "]") If objCol.CurrentFilterValue.ToString() = "" Then objCol.ItemStyle.BackColor = RadGrid1.AlternatingItemStyle.BackColor Else objCol.ItemStyle.BackColor = Drawing.Color.LightYellow End If End If End Sub Protected Sub lnkShareFilter_ServerClick(sender As Object, e As EventArgs) Dim lnkFilter As String = String.Empty For Each item As GridColumn In RadGrid1.MasterTableView.Columns Dim FilterFunction As String = item.CurrentFilterFunction.ToString Dim FilterValue As String = item.CurrentFilterValue.ToString Dim FilterColumn As String = item.UniqueName.ToString If FilterFunction <> "NoFilter" Then Debug.Print(FilterColumn & ":" & FilterFunction & "=" & FilterValue) lnkFilter &= "&" & FilterColumn & "=" & Server.UrlEncode(FilterValue) End If Next lnkFilter = "mailto:&subject=WoW List&body=" & Server.UrlEncode("http://chorra0004/hydra/bpm/WoWList.aspx?" & lnkFilter.Substring(1)) Debug.Print("[" & lnkFilter & "]") ClientScript.RegisterStartupScript(Me.GetType(), "mailto", "<script type = 'text/javascript'>parent.location='" & lnkFilter & "'</script>") End Sub Protected Function ContentExists(ByVal strUrl As String) As Boolean Try Dim hwrRequest As HttpWebRequest = WebRequest.Create(strUrl) Dim hwrResponse As HttpWebResponse = hwrRequest.GetResponse() Dim stmStream As Stream = hwrResponse.GetResponseStream() Dim strReader As String = New StreamReader(stmStream).ReadToEnd() Return True Catch ex As Exception Return False End Try End Function Protected Function urlExists(ByVal strUrl As String) As Boolean Try Dim hwrRequest As HttpWebRequest = WebRequest.Create(strUrl) hwrRequest.AllowAutoRedirect = False Dim hwrResponse As HttpWebResponse = hwrRequest.GetResponse() If hwrResponse.StatusCode = HttpStatusCode.OK Then Return True Else Return False End If Catch ex As Exception Return False End Try End FunctionEnd Class

