Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
66 views
Hi,
Whatever folder in the folder tree I select, the CurrentFolder property shows the same, first folder name (I check it in the following OnLoad event). The same says <fileExplorer>.TreeView.SelectedNode.Text.
Is it a bug or should I do something to make it working or do I misunderstand the meaning of CurrentFolder and SelectedNode?

Regards
Tomasz
Fiko
Telerik team
 answered on 03 Feb 2010
3 answers
301 views
Recently we had our application scanned by the IBM App Rational Scan and in the scan we found that there were a number of XSS vulnerabilities due to Telerik controls.

The scan tried to successfully inject a script in the response and it was getting rendered?
Is there any possible solution that Telerik suggests to overcome this problem?

Script value of something like this shown below was injected.
<script>alert(176113)</script>


Sebastian
Telerik team
 answered on 03 Feb 2010
2 answers
114 views
Experts,

       What I'm trying to do is to load Radgrid2 with the same elements as RadGrid1.

       I have a hierarchical grid in Radgrid1. 
       When I click on expand or collapse button, I want to get the same data in RadGrid2.

       Actually, if I click on employeeID = 2 in Radgrid1, it expands, but nothing gets loaded in RadGrid2 ...
       Here is my code : just change method "GetConnectionString()" to fit your connection string

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RadGridDataOK14.aspx.cs" Inherits="RadGridDataOK14" %> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
 
<html xmlns="http://www.w3.org/1999/xhtml"
<head> 
   <title></title
    <style type="text/css"
      .StaticColumn 
      {     
          font-family: Arial,Verdana, Helvetica; 
        font-size: 14px; 
        font-weight: normal;    
          border: none; 
          position: relative; 
      }  
 
    </style>      
</head> 
<body> 
    <form runat="server" id="mainForm" method="post">         
      <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> 
        <!-- content start --> 
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"
            <AjaxSettings> 
                <telerik:AjaxSetting AjaxControlID="RadGrid1"
                    <UpdatedControls> 
                        <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> 
                    </UpdatedControls> 
                </telerik:AjaxSetting> 
            </AjaxSettings> 
        </telerik:RadAjaxManager> 
        <table border="0" cellspacing="0" cellpadding="0" style="height:100%; width:100%">  
        <tr> 
        <td style="vertical-align:top;height:100%">         
        <telerik:RadGrid ID="RadGrid1" OnPreRender="RadGrid1_PreRender" runat="server" DataSourceID="SqlDataSource1" OnColumnCreated="RadGrid1_ColumnCreated" 
            OnItemCreated="RadGrid1_ItemCreated" OnItemDataBound="RadGrid1_ItemDataBound"
            <MasterTableView  HierarchyDefaultExpanded="false" EnableNoRecordsTemplate="false" HierarchyLoadMode="ServerBind" AllowSorting="true" Width="800px" 
                DataKeyNames="EmployeeID"
                <ItemStyle Wrap="false" Width="200px" Height="20px"/> 
                <AlternatingItemStyle Wrap="false" Width="200px" Height="20px"/> 
                <HeaderStyle Wrap="false" Width="1500px"/> 
                 
                <SelfHierarchySettings ParentKeyName="ReportsTo" KeyName="EmployeeID"/> 
            </MasterTableView> 
             
            <ClientSettings AllowExpandCollapse="true">             
            </ClientSettings> 
        </telerik:RadGrid> 
        </td> 
        <td class="StaticColumn" style="vertical-align:top;height:100%;">  
        <telerik:RadGrid ID="RadGrid2" ShowStatusBar="true" 
            runat="server" AutoGenerateColumns="False" PageSize="20" AllowSorting="True" AllowMultiRowSelection="False" Width="50%" 
            AllowPaging="True" GridLines="None"
            <PagerStyle Mode="NumericPages"></PagerStyle> 
            <MasterTableView ItemStyle-Wrap="false" Height="20px" HierarchyLoadMode="ServerBind" CanRetrieveAllData="true">                 
                <Columns> 
                    <telerik:GridBoundColumn SortExpression="EmployeeID" HeaderText="EmployeeID" HeaderButtonType="TextButton" 
                        DataField="EmployeeID" UniqueName="EmployeeID" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="LastName" HeaderText="LastName" HeaderButtonType="TextButton" 
                        DataField="LastName" UniqueName="LastName" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="FirstName" HeaderText="FirstName" HeaderButtonType="TextButton" 
                        DataField="FirstName" UniqueName="FirstName" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="Title" HeaderText="Title" HeaderButtonType="TextButton" 
                        DataField="Title" UniqueName="Title" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="ReportsTo" HeaderText="ReportsTo" HeaderButtonType="TextButton" 
                        DataField="ReportsTo" UniqueName="ReportsTo" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumn SortExpression="EmployeeID" HeaderText="EmployeeID" HeaderButtonType="TextButton" 
                        DataField="EmployeeID" UniqueName="EmployeeID" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="LastName" HeaderText="LastName" HeaderButtonType="TextButton" 
                        DataField="LastName" UniqueName="LastName" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="FirstName" HeaderText="FirstName" HeaderButtonType="TextButton" 
                        DataField="FirstName" UniqueName="FirstName" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="Title" HeaderText="Title" HeaderButtonType="TextButton" 
                        DataField="Title" UniqueName="Title" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="ReportsTo" HeaderText="ReportsTo" HeaderButtonType="TextButton" 
                        DataField="ReportsTo" UniqueName="ReportsTo" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn>      
                    <telerik:GridBoundColumn SortExpression="EmployeeID" HeaderText="EmployeeID" HeaderButtonType="TextButton" 
                        DataField="EmployeeID" UniqueName="EmployeeID" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="LastName" HeaderText="LastName" HeaderButtonType="TextButton" 
                        DataField="LastName" UniqueName="LastName" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="FirstName" HeaderText="FirstName" HeaderButtonType="TextButton" 
                        DataField="FirstName" UniqueName="FirstName" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="Title" HeaderText="Title" HeaderButtonType="TextButton" 
                        DataField="Title" UniqueName="Title" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="ReportsTo" HeaderText="ReportsTo" HeaderButtonType="TextButton" 
                        DataField="ReportsTo" UniqueName="ReportsTo" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumn SortExpression="EmployeeID" HeaderText="EmployeeID" HeaderButtonType="TextButton" 
                        DataField="EmployeeID" UniqueName="EmployeeID" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="LastName" HeaderText="LastName" HeaderButtonType="TextButton" 
                        DataField="LastName" UniqueName="LastName" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="FirstName" HeaderText="FirstName" HeaderButtonType="TextButton" 
                        DataField="FirstName" UniqueName="FirstName" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="Title" HeaderText="Title" HeaderButtonType="TextButton" 
                        DataField="Title" UniqueName="Title" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn> 
                    <telerik:GridBoundColumn SortExpression="ReportsTo" HeaderText="ReportsTo" HeaderButtonType="TextButton" 
                        DataField="ReportsTo" UniqueName="ReportsTo" ItemStyle-Wrap="false" ItemStyle-Width="200px" ItemStyle-Height="20px"
                    </telerik:GridBoundColumn>                                                         
                </Columns> 
            </MasterTableView> 
            <clientsettings allowexpandcollapse="false" >                 
                    <Scrolling AllowScroll="true" UseStaticHeaders="True"></Scrolling> 
            </clientsettings> 
        </telerik:RadGrid> 
        </td> 
        </tr> 
        </table>         
        <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" 
            ProviderName="System.Data.SqlClient" SelectCommand="SELECT EmployeeID, LastName, FirstName, Title, ReportsTo FROM Employees" 
            runat="server"></asp:SqlDataSource> 
        <!-- content end --> 
    </form> 
</body> 
</html> 
 
-------------------------------------------------------------------- 
-------------------------------------------------------------------- 
 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Telerik.Web.UI; 
using System.Reflection; 
using System.Data; 
using System.Data.SqlClient; 
 
public partial class RadGridDataOK14 : System.Web.UI.Page 
    protected void RadGrid1_ColumnCreated(object sender, GridColumnCreatedEventArgs e) 
    { 
        if (e.Column is GridExpandColumn) 
        { 
            e.Column.Visible = false
        } 
        else if (e.Column is GridBoundColumn) 
        { 
            e.Column.HeaderStyle.Width = Unit.Pixel(100); 
        } 
    } 
 
    public void Page_Load(object sender, EventArgs e) 
    { 
        bindGrid2(); 
        if (Assembly.GetAssembly(typeof(ScriptManager)).FullName.IndexOf("3.5") != -1) 
        { 
            RadGrid1.MasterTableView.FilterExpression = @"it[""ReportsTo""] = Convert.DBNull"; 
        } 
        else 
        { 
            RadGrid1.MasterTableView.FilterExpression = "ReportsTo IS NULL"
        } 
    } 
 
    public void Page_PreRenderComplete(object sender, EventArgs e) 
    { 
        HideExpandColumnRecursive(RadGrid1.MasterTableView); 
    
        string ActualNodes = string.Empty; 
 
        foreach (GridDataItem dataItem in RadGrid1.Items) 
        { 
            if (dataItem.Visible) 
            { 
                ActualNodes += dataItem["EmployeeID"].Text + ","; 
            } 
        } 
 
 
        if (ActualNodes.Length > 0) 
            ActualNodesActualNodes = ActualNodes.Substring(0, ActualNodes.Length - 1); 
 
        RadGrid2.Controls.Clear(); 
        RadGrid2.DataSource = getDetails(ActualNodes); 
        RadGrid2.DataBind(); 
        
        
    } 
 
    public void HideExpandColumnRecursive(GridTableView tableView) 
    { 
        GridItem[] nestedViewItems = tableView.GetItems(GridItemType.NestedView); 
        foreach (GridNestedViewItem nestedViewItem in nestedViewItems) 
        { 
            foreach (GridTableView nestedView in nestedViewItem.NestedTableViews) 
            { 
                nestedView.Style["border"] = "0"; 
 
                Button MyExpandCollapseButton = (Button)nestedView.ParentItem.FindControl("MyExpandCollapseButton"); 
                if (nestedView.Items.Count == 0) 
                { 
                    if (MyExpandCollapseButton != null) 
                    { 
                        MyExpandCollapseButton.Style["visibility"] = "hidden"; 
                    } 
                    nestedViewItem.Visible = false
                } 
                else 
                { 
                    if (MyExpandCollapseButton != null) 
                    { 
                        MyExpandCollapseButton.Style.Remove("visibility"); 
                    } 
                } 
 
                if (nestedView.HasDetailTables) 
                { 
                    HideExpandColumnRecursive(nestedView); 
                } 
            } 
        } 
    } 
 
    protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e) 
    { 
        CreateExpandCollapseButton(e.Item, "EmployeeID"); 
 
        if (e.Item is GridHeaderItem && e.Item.OwnerTableView != RadGrid1.MasterTableView) 
        { 
            e.Item.Style["display"] = "none"; 
        } 
 
        if (e.Item is GridNestedViewItem) 
        { 
            e.Item.Cells[0].Visible = false
        } 
    } 
 
    protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) 
    { 
        CreateExpandCollapseButton(e.Item, "EmployeeID"); 
    } 
 
    public void CreateExpandCollapseButton(GridItem item, string columnUniqueName) 
    { 
        if (item is GridDataItem) 
        { 
            if (item.FindControl("MyExpandCollapseButton") == null) 
            { 
                Button button = new Button(); 
                button.Click += new EventHandler(button_Click); 
                button.CommandName = "ExpandCollapse"
                button.CssClass = (item.Expanded) ? "rgCollapse" : "rgExpand"; 
                button.ID = "MyExpandCollapseButton"
 
                if (item.OwnerTableView.HierarchyLoadMode == GridChildLoadMode.Client) 
                { 
                    string script = String.Format(@"$find(""{0}"")._toggleExpand(this, event); return false;", item.Parent.Parent.ClientID); 
 
                    button.OnClientClick = script
                } 
 
                int level = item.ItemIndexHierarchical.Split(':').Length; 
                if (level > 1) 
                { 
                    button.Style["margin-left"] = level + 10 + "px"; 
                    button.Text = "-"
                } 
 
 
                TableCell cell = ((GridDataItem)item)[columnUniqueName]; 
                cell.Controls.Add(button); 
                /* 
                if (item.Expanded) 
                    cell.Controls.Add(new LiteralControl("&nbsp;-&nbsp;")); 
                else 
                     
                 */ 
                cell.Controls.Add(new LiteralControl("&nbsp;")); 
                cell.Controls.Add(new LiteralControl(((GridDataItem)item).GetDataKeyValue(columnUniqueName).ToString())); 
            } 
        } 
    } 
 
    protected void RadGrid1_PreRender(object sender, EventArgs e) 
    { 
 
        string ActualNodes = string.Empty; 
 
        foreach (GridDataItem dataItem in RadGrid1.Items) 
        { 
            if (dataItem.Visible) 
            { 
                ActualNodes += dataItem["EmployeeID"].Text + ","; 
            } 
        } 
 
 
        if (ActualNodes.Length > 0) 
            ActualNodesActualNodes = ActualNodes.Substring(0, ActualNodes.Length - 1); 
 
        RadGrid2.Controls.Clear(); 
        RadGrid2.DataSource = getDetails(ActualNodes); 
        RadGrid2.DataBind(); 
        //Response.Write("<script> alert(" + sTest + ");</script>"); 
    } 
 
 
    void button_Click(object sender, EventArgs e) 
    { 
        ((Button)sender).CssClass = (((Button)sender).CssClass == "rgExpand") ? "rgCollapse" : "rgExpand";        
    } 
 
 
    private void bindGrid2() 
    { 
 
        RadGrid2.Controls.Clear(); 
        string initialNodes = string.Empty; 
        for (int m = 0; m < RadGrid1.Items.Count; m++) 
        { 
            if (!RadGrid1.Items[m]["EmployeeID"].Text.ToLower().Equals("&nbsp;") && RadGrid1.Items[m].Visible) 
                initialNodes += RadGrid1.Items[m]["EmployeeID"].Text + ","; 
        } 
 
        if (initialNodes.Length > 0) 
        { 
            RadGrid2.DataSource = getEmployees(initialNodes.Substring(0, initialNodes.Length - 1)); 
        } 
        else 
            RadGrid2.DataSource = getEmployees(""); 
 
        RadGrid2.DataBind(); 
    } 
 
    private DataView getEmployees(string initialNodes) 
    { 
        DataSet ds = new DataSet(); 
 
        string sqlFinal = string.Empty; 
        if (!initialNodes.Equals(string.Empty)) 
        { 
            sqlFinal = "Where EmployeeID in (" + initialNodes + ")"; 
        } 
 
        using (SqlConnection conn = new SqlConnection()) 
        { 
            conn.ConnectionString = GetConnectionString(); 
            SqlCommand cmd = new SqlCommand("SELECT [EmployeeID], [LastName], [FirstName], [Title], [ReportsTo] FROM [Employees] " + sqlFinal, conn); 
            conn.Open(); 
 
            SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd); 
 
            sqlAdapter.Fill(ds); 
        } 
 
        DataView dv = new DataView(ds.Tables[0]); 
        return dv; 
    } 
 
    private DataTable getChildNodesByID(string ParentID) 
    { 
        DataSet ds = new DataSet(); 
        string sql = "SELECT [EmployeeID], [LastName], [FirstName], [Title], [ReportsTo] FROM [Employees] Where ReportsTo = " + ParentID; 
 
        using (SqlConnection conn = new SqlConnection()) 
        { 
            conn.ConnectionString = GetConnectionString(); 
            SqlCommand cmd = new SqlCommand(sql, conn); 
            conn.Open(); 
 
            SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd); 
            sqlAdapter.Fill(ds); 
        } 
 
        DataTable dt = new DataTable(); 
        if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) 
            return ds.Tables[0]; 
        else 
            return null; 
    } 
 
    private DataView getDetails(string ActualNodes) 
    { 
        DataSet ds = new DataSet(); 
 
 
        //string noeuds = ActualNodes.Substring(0, ActualNodes.Length - 1); 
 
        string[] tabNoeuds = ActualNodes.Split(','); 
        string swhen = " CASE "
 
        for (int i = 0; i < tabNoeuds.Length; i++) 
        { 
            swhen += " WHEN EmployeeID = " + tabNoeuds[i] + " THEN " + (i + 1) + " "; 
        } 
        swhen += " END "; 
 
        string sql = "SELECT [EmployeeID], [LastName], [FirstName], [Title], [ReportsTo] FROM [Employees] Where EmployeeID in (" + ActualNodes + ")"; 
        sql += " ORDER BY " + swhen; 
        using (SqlConnection conn = new SqlConnection()) 
        { 
            conn.ConnectionString = GetConnectionString(); 
            SqlCommand cmd = new SqlCommand(sql, conn); 
            conn.Open(); 
 
            SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd); 
            sqlAdapter.Fill(ds); 
        } 
 
        DataView dv = new DataView(ds.Tables[0]); 
        return dv; 
    } 
 
 
 
    static private string GetConnectionString() 
    { 
        return "server=STATION00374;database=Northwind;Integrated Security=SSPI;"; 
    } 
 
 

RadTony
Top achievements
Rank 1
 answered on 03 Feb 2010
1 answer
196 views
I am have radgrid that is misbehaving.  On the action event Itemcommand I want to load come pointers into a session variable.  Problem is that for whatever reason when I leave the scope of the function the Session variable is null.  I believe it is something to do with the ajax control.  Below is the page I am working on.  Please help...stuck.
<%@ Page Title="" Language="C#" MasterPageFile="~/ePacket.master" AutoEventWireup="true" 
    CodeFile="ManagePackets.aspx.cs" Inherits="ManagePackets" %>  
 
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
    Namespace="System.Web.UI" TagPrefix="asp" %>  
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">  
    <style type="text/css">  
        .style4  
        {  
            width: 669px;  
        }  
        .style5  
        {  
            width: 80px;  
        }  
        .headerOffice07  
        {  
            background: #d6e5f3 0 -5900px repeat-x url('images/sprite.gif');  
        }  
        .style6  
        {  
            width: 165px;  
        }  
        .fileTypes  
        {  
            float: left;  
        }  
    </style>  
</asp:Content>  
<asp:Content ID="Content2" ContentPlaceHolderID="contBody" runat="Server">  
    <br />  
    <div align="center">  
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1" 
            EnableHistory="True">  
            <AjaxSettings>  
                <telerik:AjaxSetting AjaxControlID="cmdAdd">  
                    <UpdatedControls>  
                        <telerik:AjaxUpdatedControl ControlID="panTitleForpanPackets" />  
                        <telerik:AjaxUpdatedControl ControlID="panPackets"></telerik:AjaxUpdatedControl>  
                        <telerik:AjaxUpdatedControl ControlID="panPacketDetails" />  
                    </UpdatedControls>  
                    <UpdatedControls>  
                        <telerik:AjaxUpdatedControl ControlID="panTitleForpanPackets" />  
                    </UpdatedControls>  
                    <UpdatedControls>  
                    </UpdatedControls>  
                </telerik:AjaxSetting>  
                <telerik:AjaxSetting AjaxControlID="gridPackets">  
                    <UpdatedControls>  
                        <telerik:AjaxUpdatedControl ControlID="panTitleForpanPackets" />  
                        <telerik:AjaxUpdatedControl ControlID="panPackets" />  
                        <telerik:AjaxUpdatedControl ControlID="panPacketDetails" />  
                    </UpdatedControls>  
                </telerik:AjaxSetting>  
            </AjaxSettings>  
        </telerik:RadAjaxManager>  
        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Office2007">  
        </telerik:RadAjaxLoadingPanel>  
        <asp:Panel runat="server" ID="panTitleForpanPackets" Width='900px'>  
            <table width='100%'>  
                <tr>  
                    <td align="left" class="style5">  
                        <asp:LinkButton ID="cmdAdd" Font-Size="Small" runat="server" OnClick="cmdAdd_Click">Create Packet</asp:LinkButton>  
                    </td>  
                    <td align="center" class="style4">  
                        <asp:Label ID="Label1" runat="server" Text="Current Packets" Font-Bold="True" Font-Size="Medium" 
                            ForeColor="#00156E"></asp:Label>  
                    </td>  
                    <td>  
                    </td>  
                </tr>  
            </table>  
        </asp:Panel>  
        <asp:Panel ID="panPackets" Width='900px' runat="server">  
            <telerik:RadGrid ID="gridPackets" runat="server" DataSourceID="AllPackets" GridLines="None" 
                Skin="Office2007" AllowPaging="True" PageSize="15" AllowFilteringByColumn="True" 
                OnItemCommand="RadGrid2_ItemCommand">  
                <MasterTableView AutoGenerateColumns="False" DataSourceID="AllPackets">  
                    <RowIndicatorColumn>  
                        <HeaderStyle Width="20px" />  
                    </RowIndicatorColumn>  
                    <ExpandCollapseColumn>  
                        <HeaderStyle Width="20px" />  
                    </ExpandCollapseColumn>  
                    <HeaderStyle HorizontalAlign="Left" />  
                    <ItemStyle HorizontalAlign="Left" />  
                    <AlternatingItemStyle HorizontalAlign="Left" />  
                    <FilterItemStyle HorizontalAlign="Left" />  
                    <Columns>  
                        <telerik:GridTemplateColumn>  
                            <FilterTemplate>  
                                Clear filters  
                                <asp:ImageButton ID="btnShowAll" runat="server" ImageUrl="Images/filterCancel.gif" 
                                    OnClick="btnShowAll_Click" Style="vertical-align: middle" />  
                            </FilterTemplate>  
                            <ItemTemplate>  
                                <asp:LinkButton ID="LinkButton1" CommandArgument='<%# Eval("PacketID") %>' CommandName="Details" 
                                    runat="server">  
                      Details</asp:LinkButton>  
                            </ItemTemplate>  
                        </telerik:GridTemplateColumn>  
                        <telerik:GridBoundColumn DataField="MeetingName" HeaderText="Meeting / Group Name" 
                            SortExpression="MeetingName" UniqueName="MeetingName">  
                            <FilterTemplate>  
                                <telerik:RadComboBox ID="ddlMeetingNameFilter" DataSourceID="SqlDataSource2" DataTextField="MeetingName" 
                                    DataValueField="MeetingName" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("MeetingName").CurrentFilterValue %>'  
                                    runat="server" OnClientSelectedIndexChanged="MeetingIndexChanged" DropDownWidth="230px">  
                                    <Items>  
                                        <telerik:RadComboBoxItem Text="All" />  
                                    </Items>  
                                </telerik:RadComboBox>  
                                <telerik:RadScriptBlock ID="RadScriptBlock4" runat="server">  
 
                                    <script type="text/javascript">  
                                        function MeetingIndexChanged(sender, args) {  
                                            var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                            tableView.filter("MeetingName", args.get_item().get_value(), "EqualTo");  
 
                                        }  
                                    </script>  
 
                                </telerik:RadScriptBlock>  
                            </FilterTemplate>  
                        </telerik:GridBoundColumn>  
                        <telerik:GridBoundColumn DataField="PublishDate" DataType="System.DateTime" HeaderText="Date Published" 
                            SortExpression="PublishDate" DataFormatString="{0:D}" UniqueName="PublishDate">  
                            <FilterTemplate>  
                                From  
                                <telerik:RadDatePicker ID="FromOrderDatePicker" runat="server" Width="100px" Skin="Office2007" 
                                    ClientEvents-OnDateSelected="FromDateSelected" DbSelectedDate='<%# startDate %>' />  
                                to  
                                <telerik:RadDatePicker ID="ToOrderDatePicker" runat="server" Width="100px" Skin="Office2007" 
                                    ClientEvents-OnDateSelected="ToDateSelected" DbSelectedDate='<%# endDate %>' />  
                                <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">  
 
                                    <script type="text/javascript">  
                                        function FromDateSelected(sender, args) {  
                                            var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                            var ToPicker = $find('<%# ((GridItem)Container).FindControl("ToOrderDatePicker").ClientID %>');  
 
                                            var fromDate = FormatSelectedDate(sender);  
                                            var toDate = FormatSelectedDate(ToPicker);  
 
                                            tableView.filter("PublishDate", fromDate + " " + toDate, "Between");  
 
                                        }  
                                        function ToDateSelected(sender, args) {  
                                            var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                            var FromPicker = $find('<%# ((GridItem)Container).FindControl("FromOrderDatePicker").ClientID %>');  
 
                                            var fromDate = FormatSelectedDate(FromPicker);  
                                            var toDate = FormatSelectedDate(sender);  
 
                                            tableView.filter("PublishDate", fromDate + " " + toDate, "Between");  
                                        }  
                                        function FormatSelectedDate(picker) {  
                                            var date = picker.get_selectedDate();  
                                            var dateInput = picker.get_dateInput();  
                                            var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, dateInput.get_displayDateFormat());  
 
                                            return formattedDate;  
                                        }  
                                    </script>  
 
                                </telerik:RadScriptBlock>  
                            </FilterTemplate>  
                        </telerik:GridBoundColumn>  
                        <telerik:GridBoundColumn DataField="FiscalYear" HeaderText="Fiscal Year" SortExpression="FiscalYear" 
                            UniqueName="FiscalYear">  
                            <FilterTemplate>  
                                <telerik:RadComboBox ID="ddlFiscalYear" Width="100px" DataSourceID="SqlDataSource3" 
                                    DataTextField="FiscalYear" DataValueField="FiscalYear" AppendDataBoundItems="true" 
                                    SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("FiscalYear").CurrentFilterValue %>'  
                                    runat="server" OnClientSelectedIndexChanged="TitleIndexChanged" DropDownWidth="100px">  
                                    <Items>  
                                        <telerik:RadComboBoxItem Text="All" />  
                                    </Items>  
                                </telerik:RadComboBox>  
                                <telerik:RadScriptBlock ID="RadScriptBlock3" runat="server">  
 
                                    <script type="text/javascript">  
                                        function TitleIndexChanged(sender, args) {  
                                            var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                            tableView.filter("FiscalYear", args.get_item().get_value(), "EqualTo");  
 
                                        }  
                                    </script>  
 
                                </telerik:RadScriptBlock>  
                            </FilterTemplate>  
                        </telerik:GridBoundColumn>  
                        <telerik:GridBoundColumn DataField="Name" HeaderText="Published By" ReadOnly="True" 
                            SortExpression="Name" UniqueName="Name">  
                            <FilterTemplate>  
                                <telerik:RadComboBox ID="ddlNameFilter" Width="100px" DataSourceID="SqlDataSource4" 
                                    DataTextField="Name" DataValueField="Name" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("Name").CurrentFilterValue %>'  
                                    runat="server" OnClientSelectedIndexChanged="NameIndexChanged" DropDownWidth="120px">  
                                    <Items>  
                                        <telerik:RadComboBoxItem Text="All" />  
                                    </Items>  
                                </telerik:RadComboBox>  
                                <telerik:RadScriptBlock ID="RadScriptBlock5" runat="server">  
 
                                    <script type="text/javascript">  
                                        function NameIndexChanged(sender, args) {  
                                            var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                            tableView.filter("Name", args.get_item().get_value(), "EqualTo");  
 
                                        }  
                                    </script>  
 
                                </telerik:RadScriptBlock>  
                            </FilterTemplate>  
                        </telerik:GridBoundColumn>  
                    </Columns>  
                </MasterTableView>  
            </telerik:RadGrid>  
            <asp:SqlDataSource ID="AllPackets" runat="server" ConnectionString="<%$ ConnectionStrings:WebConnectionString %>" 
                SelectCommand="Select A.PacketID,MeetingName,A.PublishDate,FiscalYear,ISNULL(D.FirstName +' '+D.LastName,'No Name') as 'Name' From ePacket_Packet A Join ePacket_PacketPerms B ON (A.MeetingID=B.PacketID)
Join ePacket_Meeting C on (A.MeetingID=C.MeetingID) Left Outer Join COAUsers D on (A.PublishedBy=D.UserID)
 Where A.Archive='No' and B.Archive='No'  and B.UserID=@UserID
Order By MeetingName ASC,FiscalYear DESC,PublishDate DESC">  
                <SelectParameters>  
                    <asp:SessionParameter Name="UserID" SessionField="packet" />  
                </SelectParameters>  
            </asp:SqlDataSource>  
            <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:WebConnectionString %>" 
                SelectCommand="Select * From ePacket_Meeting A Join ePacket_PacketPerms B ON (A.MeetingID=B.PacketID) Where B.UserID=@UserID and B.Archive='No' and A.Archive='No' Order By MeetingName ASC">  
                <SelectParameters>  
                    <asp:SessionParameter Name="UserID" SessionField="Packet" />  
                </SelectParameters>  
            </asp:SqlDataSource>  
            <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:WebConnectionString %>" 
                SelectCommand="Select Distinct FiscalYear From ePacket_Packet Where Archive='No' Order By FiscalYear DESC">  
            </asp:SqlDataSource>  
            <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:WebConnectionString %>" 
                SelectCommand="Select  Distinct FirstName+' '+LastName as 'Name' From COAUsers A Join ePacket_Packet B on (A.UserID=B.PublishedBy)
Where B.Archive='No'"></asp:SqlDataSource>  
        </asp:Panel>  
        <br />  
        <asp:Panel ID="panPacketDetails" Width='600px' runat="server" BorderColor="Black" 
            BorderStyle="Solid" BorderWidth="1px" Visible="False">  
            <table width='100%'>  
                <tr>  
                    <td align="center" colspan='2' class="headerOffice07">  
                        <asp:Label ID="lblHeader" Font-Size="Medium" runat="server" Text="Add New Packet" 
                            Font-Bold="True" ForeColor="#00156E"></asp:Label>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="left" class="style6">  
                        <asp:Label ID="Label2" runat="server" Text="Select Meeting / Group:" Font-Size='Small'></asp:Label>  
                    </td>  
                    <td align="left">  
                        <telerik:RadComboBox ID="ddlMeetingType" runat="server" Skin="Office2007" Width="300px" 
                            AutoPostBack="True" OnSelectedIndexChanged="ddlMeetingType_SelectedIndexChanged">  
                        </telerik:RadComboBox>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="left">  
                        <asp:Label ID="Label4" runat="server" Text="Publish Date:" Font-Size="Small"></asp:Label>  
                    </td>  
                    <td align="left">  
                        <telerik:RadDatePicker ID="dPickPublishDate" runat="server" Skin="Office2007" Width="300px">  
                            <Calendar Skin="Office2007" UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False" 
                                ViewSelectorText="x">  
                            </Calendar>  
                            <DatePopupButton HoverImageUrl="" ImageUrl="" />  
                        </telerik:RadDatePicker>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="left">  
                        <asp:Label ID="Label3" Font-Size="Small" runat="server" Text="Available File Types:"></asp:Label>  
                    </td>  
                    <td align="left">  
                        <asp:Panel ID="panAgenda" runat="server" Width="50px" CssClass="fileTypes">  
                            <asp:LinkButton ID="cmdAgenda" runat="server" Font-Size="Small" ForeColor="Red" OnClick="cmdAgenda_Click">Agenda</asp:LinkButton>&nbsp;</asp:Panel>  
                        <asp:Panel ID="panMinutes" CssClass="fileTypes" runat="server" Width="55px">  
                            <asp:LinkButton ID="cmdMinutes" runat="server" Font-Size="Small" ForeColor="Red" 
                                Height="16px">Minutes</asp:LinkButton>&nbsp;</asp:Panel>  
                        <asp:Panel ID="panCOW" runat="server" Width="50px" CssClass="fileTypes">  
                            <asp:LinkButton ID="cmdCOW" runat="server" Font-Size="Small" ForeColor="Red">C.O.W</asp:LinkButton>&nbsp;</asp:Panel>  
                        <asp:Panel ID="panPacket" runat="server" Width="50px" CssClass="fileTypes">  
                            <asp:LinkButton ID="cmdPacket" runat="server" Font-Size="Small" ForeColor="Red">Packet</asp:LinkButton>&nbsp;</asp:Panel>  
                        <asp:Panel ID="panOther" runat="server" Width="75px" CssClass="fileTypes">  
                            <asp:LinkButton ID="cmdOther" runat="server" Font-Size="Small" ForeColor="Red">Other Files</asp:LinkButton>&nbsp;</asp:Panel>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="left">  
                        <asp:Label ID="lblLabelFileType" runat="server" Font-Size="Small" Text="File Type:"></asp:Label>  
                    </td>  
                    <td align="left">  
                        <asp:Label ID="lblFileType" runat="server" Font-Size="Small" Text="No File Type Selected"></asp:Label>  
                    </td>  
                </tr>  
                <tr>  
                    <td>  
                        &nbsp;  
                    </td>  
                    <td align="left">  
                        <asp:Table ID="tabFiles" Font-Size="Small" runat="server">  
                        </asp:Table>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="left" class="style6">  
                    </td>  
                    <td align="left">  
                        <telerik:RadUpload ID="RadUpload1" runat="server" MaxFileInputsCount="1" Skin="Office2007" 
                            Enabled="False">  
                        </telerik:RadUpload>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="center" colspan='2'>  
                        <asp:ImageButton ID="cmdSubmit" runat="server" />&nbsp;  
                        <asp:ImageButton ID="cmdCancel" runat="server" /><asp:HiddenField ID="PacketID" runat="server" />  
                    </td>  
                </tr>  
            </table>  
        </asp:Panel>  
    </div>  
</asp:Content>  
 
<%@ Page Title="" Language="C#" MasterPageFile="~/ePacket.master" AutoEventWireup="true" 
    CodeFile="ManagePackets.aspx.cs" Inherits="ManagePackets" %>  
 
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
    Namespace="System.Web.UI" TagPrefix="asp" %>  
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">  
    <style type="text/css">  
        .style4  
        {  
            width: 669px;  
        }  
        .style5  
        {  
            width: 80px;  
        }  
        .headerOffice07  
        {  
            background: #d6e5f3 0 -5900px repeat-x url('images/sprite.gif');  
        }  
        .style6  
        {  
            width: 165px;  
        }  
        .fileTypes  
        {  
            float: left;  
        }  
    </style>  
</asp:Content>  
<asp:Content ID="Content2" ContentPlaceHolderID="contBody" runat="Server">  
    <br />  
    <div align="center">  
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" DefaultLoadingPanelID="RadAjaxLoadingPanel1" 
            EnableHistory="True">  
            <AjaxSettings>  
                <telerik:AjaxSetting AjaxControlID="cmdAdd">  
                    <UpdatedControls>  
                        <telerik:AjaxUpdatedControl ControlID="panTitleForpanPackets" />  
                        <telerik:AjaxUpdatedControl ControlID="panPackets"></telerik:AjaxUpdatedControl>  
                        <telerik:AjaxUpdatedControl ControlID="panPacketDetails" />  
                    </UpdatedControls>  
                    <UpdatedControls>  
                        <telerik:AjaxUpdatedControl ControlID="panTitleForpanPackets" />  
                    </UpdatedControls>  
                    <UpdatedControls>  
                    </UpdatedControls>  
                </telerik:AjaxSetting>  
                <telerik:AjaxSetting AjaxControlID="gridPackets">  
                    <UpdatedControls>  
                        <telerik:AjaxUpdatedControl ControlID="panTitleForpanPackets" />  
                        <telerik:AjaxUpdatedControl ControlID="panPackets" />  
                        <telerik:AjaxUpdatedControl ControlID="panPacketDetails" />  
                    </UpdatedControls>  
                </telerik:AjaxSetting>  
            </AjaxSettings>  
        </telerik:RadAjaxManager>  
        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Office2007">  
        </telerik:RadAjaxLoadingPanel>  
        <asp:Panel runat="server" ID="panTitleForpanPackets" Width='900px'>  
            <table width='100%'>  
                <tr>  
                    <td align="left" class="style5">  
                        <asp:LinkButton ID="cmdAdd" Font-Size="Small" runat="server" OnClick="cmdAdd_Click">Create Packet</asp:LinkButton>  
                    </td>  
                    <td align="center" class="style4">  
                        <asp:Label ID="Label1" runat="server" Text="Current Packets" Font-Bold="True" Font-Size="Medium" 
                            ForeColor="#00156E"></asp:Label>  
                    </td>  
                    <td>  
                    </td>  
                </tr>  
            </table>  
        </asp:Panel>  
        <asp:Panel ID="panPackets" Width='900px' runat="server">  
            <telerik:RadGrid ID="gridPackets" runat="server" DataSourceID="AllPackets" GridLines="None" 
                Skin="Office2007" AllowPaging="True" PageSize="15" AllowFilteringByColumn="True" 
                OnItemCommand="RadGrid2_ItemCommand">  
                <MasterTableView AutoGenerateColumns="False" DataSourceID="AllPackets">  
                    <RowIndicatorColumn>  
                        <HeaderStyle Width="20px" />  
                    </RowIndicatorColumn>  
                    <ExpandCollapseColumn>  
                        <HeaderStyle Width="20px" />  
                    </ExpandCollapseColumn>  
                    <HeaderStyle HorizontalAlign="Left" />  
                    <ItemStyle HorizontalAlign="Left" />  
                    <AlternatingItemStyle HorizontalAlign="Left" />  
                    <FilterItemStyle HorizontalAlign="Left" />  
                    <Columns>  
                        <telerik:GridTemplateColumn>  
                            <FilterTemplate>  
                                Clear filters  
                                <asp:ImageButton ID="btnShowAll" runat="server" ImageUrl="Images/filterCancel.gif" 
                                    OnClick="btnShowAll_Click" Style="vertical-align: middle" />  
                            </FilterTemplate>  
                            <ItemTemplate>  
                                <asp:LinkButton ID="LinkButton1" CommandArgument='<%# Eval("PacketID") %>' CommandName="Details" 
                                    runat="server">  
                      Details</asp:LinkButton>  
                            </ItemTemplate>  
                        </telerik:GridTemplateColumn>  
                        <telerik:GridBoundColumn DataField="MeetingName" HeaderText="Meeting / Group Name" 
                            SortExpression="MeetingName" UniqueName="MeetingName">  
                            <FilterTemplate>  
                                <telerik:RadComboBox ID="ddlMeetingNameFilter" DataSourceID="SqlDataSource2" DataTextField="MeetingName" 
                                    DataValueField="MeetingName" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("MeetingName").CurrentFilterValue %>'  
                                    runat="server" OnClientSelectedIndexChanged="MeetingIndexChanged" DropDownWidth="230px">  
                                    <Items>  
                                        <telerik:RadComboBoxItem Text="All" />  
                                    </Items>  
                                </telerik:RadComboBox>  
                                <telerik:RadScriptBlock ID="RadScriptBlock4" runat="server">  
 
                                    <script type="text/javascript">  
                                        function MeetingIndexChanged(sender, args) {  
                                            var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                            tableView.filter("MeetingName", args.get_item().get_value(), "EqualTo");  
 
                                        }  
                                    </script>  
 
                                </telerik:RadScriptBlock>  
                            </FilterTemplate>  
                        </telerik:GridBoundColumn>  
                        <telerik:GridBoundColumn DataField="PublishDate" DataType="System.DateTime" HeaderText="Date Published" 
                            SortExpression="PublishDate" DataFormatString="{0:D}" UniqueName="PublishDate">  
                            <FilterTemplate>  
                                From  
                                <telerik:RadDatePicker ID="FromOrderDatePicker" runat="server" Width="100px" Skin="Office2007" 
                                    ClientEvents-OnDateSelected="FromDateSelected" DbSelectedDate='<%# startDate %>' />  
                                to  
                                <telerik:RadDatePicker ID="ToOrderDatePicker" runat="server" Width="100px" Skin="Office2007" 
                                    ClientEvents-OnDateSelected="ToDateSelected" DbSelectedDate='<%# endDate %>' />  
                                <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">  
 
                                    <script type="text/javascript">  
                                        function FromDateSelected(sender, args) {  
                                            var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                            var ToPicker = $find('<%# ((GridItem)Container).FindControl("ToOrderDatePicker").ClientID %>');  
 
                                            var fromDate = FormatSelectedDate(sender);  
                                            var toDate = FormatSelectedDate(ToPicker);  
 
                                            tableView.filter("PublishDate", fromDate + " " + toDate, "Between");  
 
                                        }  
                                        function ToDateSelected(sender, args) {  
                                            var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                            var FromPicker = $find('<%# ((GridItem)Container).FindControl("FromOrderDatePicker").ClientID %>');  
 
                                            var fromDate = FormatSelectedDate(FromPicker);  
                                            var toDate = FormatSelectedDate(sender);  
 
                                            tableView.filter("PublishDate", fromDate + " " + toDate, "Between");  
                                        }  
                                        function FormatSelectedDate(picker) {  
                                            var date = picker.get_selectedDate();  
                                            var dateInput = picker.get_dateInput();  
                                            var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, dateInput.get_displayDateFormat());  
 
                                            return formattedDate;  
                                        }  
                                    </script>  
 
                                </telerik:RadScriptBlock>  
                            </FilterTemplate>  
                        </telerik:GridBoundColumn>  
                        <telerik:GridBoundColumn DataField="FiscalYear" HeaderText="Fiscal Year" SortExpression="FiscalYear" 
                            UniqueName="FiscalYear">  
                            <FilterTemplate>  
                                <telerik:RadComboBox ID="ddlFiscalYear" Width="100px" DataSourceID="SqlDataSource3" 
                                    DataTextField="FiscalYear" DataValueField="FiscalYear" AppendDataBoundItems="true" 
                                    SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("FiscalYear").CurrentFilterValue %>'  
                                    runat="server" OnClientSelectedIndexChanged="TitleIndexChanged" DropDownWidth="100px">  
                                    <Items>  
                                        <telerik:RadComboBoxItem Text="All" />  
                                    </Items>  
                                </telerik:RadComboBox>  
                                <telerik:RadScriptBlock ID="RadScriptBlock3" runat="server">  
 
                                    <script type="text/javascript">  
                                        function TitleIndexChanged(sender, args) {  
                                            var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                            tableView.filter("FiscalYear", args.get_item().get_value(), "EqualTo");  
 
                                        }  
                                    </script>  
 
                                </telerik:RadScriptBlock>  
                            </FilterTemplate>  
                        </telerik:GridBoundColumn>  
                        <telerik:GridBoundColumn DataField="Name" HeaderText="Published By" ReadOnly="True" 
                            SortExpression="Name" UniqueName="Name">  
                            <FilterTemplate>  
                                <telerik:RadComboBox ID="ddlNameFilter" Width="100px" DataSourceID="SqlDataSource4" 
                                    DataTextField="Name" DataValueField="Name" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("Name").CurrentFilterValue %>'  
                                    runat="server" OnClientSelectedIndexChanged="NameIndexChanged" DropDownWidth="120px">  
                                    <Items>  
                                        <telerik:RadComboBoxItem Text="All" />  
                                    </Items>  
                                </telerik:RadComboBox>  
                                <telerik:RadScriptBlock ID="RadScriptBlock5" runat="server">  
 
                                    <script type="text/javascript">  
                                        function NameIndexChanged(sender, args) {  
                                            var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");  
                                            tableView.filter("Name", args.get_item().get_value(), "EqualTo");  
 
                                        }  
                                    </script>  
 
                                </telerik:RadScriptBlock>  
                            </FilterTemplate>  
                        </telerik:GridBoundColumn>  
                    </Columns>  
                </MasterTableView>  
            </telerik:RadGrid>  
            <asp:SqlDataSource ID="AllPackets" runat="server" ConnectionString="<%$ ConnectionStrings:WebConnectionString %>" 
                SelectCommand="Select A.PacketID,MeetingName,A.PublishDate,FiscalYear,ISNULL(D.FirstName +' '+D.LastName,'No Name') as 'Name' From ePacket_Packet A Join ePacket_PacketPerms B ON (A.MeetingID=B.PacketID)
Join ePacket_Meeting C on (A.MeetingID=C.MeetingID) Left Outer Join COAUsers D on (A.PublishedBy=D.UserID)
 Where A.Archive='No' and B.Archive='No'  and B.UserID=@UserID
Order By MeetingName ASC,FiscalYear DESC,PublishDate DESC">  
                <SelectParameters>  
                    <asp:SessionParameter Name="UserID" SessionField="packet" />  
                </SelectParameters>  
            </asp:SqlDataSource>  
            <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:WebConnectionString %>" 
                SelectCommand="Select * From ePacket_Meeting A Join ePacket_PacketPerms B ON (A.MeetingID=B.PacketID) Where B.UserID=@UserID and B.Archive='No' and A.Archive='No' Order By MeetingName ASC">  
                <SelectParameters>  
                    <asp:SessionParameter Name="UserID" SessionField="Packet" />  
                </SelectParameters>  
            </asp:SqlDataSource>  
            <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:WebConnectionString %>" 
                SelectCommand="Select Distinct FiscalYear From ePacket_Packet Where Archive='No' Order By FiscalYear DESC">  
            </asp:SqlDataSource>  
            <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:WebConnectionString %>" 
                SelectCommand="Select  Distinct FirstName+' '+LastName as 'Name' From COAUsers A Join ePacket_Packet B on (A.UserID=B.PublishedBy)
Where B.Archive='No'"></asp:SqlDataSource>  
        </asp:Panel>  
        <br />  
        <asp:Panel ID="panPacketDetails" Width='600px' runat="server" BorderColor="Black" 
            BorderStyle="Solid" BorderWidth="1px" Visible="False">  
            <table width='100%'>  
                <tr>  
                    <td align="center" colspan='2' class="headerOffice07">  
                        <asp:Label ID="lblHeader" Font-Size="Medium" runat="server" Text="Add New Packet" 
                            Font-Bold="True" ForeColor="#00156E"></asp:Label>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="left" class="style6">  
                        <asp:Label ID="Label2" runat="server" Text="Select Meeting / Group:" Font-Size='Small'></asp:Label>  
                    </td>  
                    <td align="left">  
                        <telerik:RadComboBox ID="ddlMeetingType" runat="server" Skin="Office2007" Width="300px" 
                            AutoPostBack="True" OnSelectedIndexChanged="ddlMeetingType_SelectedIndexChanged">  
                        </telerik:RadComboBox>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="left">  
                        <asp:Label ID="Label4" runat="server" Text="Publish Date:" Font-Size="Small"></asp:Label>  
                    </td>  
                    <td align="left">  
                        <telerik:RadDatePicker ID="dPickPublishDate" runat="server" Skin="Office2007" Width="300px">  
                            <Calendar Skin="Office2007" UseColumnHeadersAsSelectors="False" UseRowHeadersAsSelectors="False" 
                                ViewSelectorText="x">  
                            </Calendar>  
                            <DatePopupButton HoverImageUrl="" ImageUrl="" />  
                        </telerik:RadDatePicker>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="left">  
                        <asp:Label ID="Label3" Font-Size="Small" runat="server" Text="Available File Types:"></asp:Label>  
                    </td>  
                    <td align="left">  
                        <asp:Panel ID="panAgenda" runat="server" Width="50px" CssClass="fileTypes">  
                            <asp:LinkButton ID="cmdAgenda" runat="server" Font-Size="Small" ForeColor="Red" OnClick="cmdAgenda_Click">Agenda</asp:LinkButton>&nbsp;</asp:Panel>  
                        <asp:Panel ID="panMinutes" CssClass="fileTypes" runat="server" Width="55px">  
                            <asp:LinkButton ID="cmdMinutes" runat="server" Font-Size="Small" ForeColor="Red" 
                                Height="16px">Minutes</asp:LinkButton>&nbsp;</asp:Panel>  
                        <asp:Panel ID="panCOW" runat="server" Width="50px" CssClass="fileTypes">  
                            <asp:LinkButton ID="cmdCOW" runat="server" Font-Size="Small" ForeColor="Red">C.O.W</asp:LinkButton>&nbsp;</asp:Panel>  
                        <asp:Panel ID="panPacket" runat="server" Width="50px" CssClass="fileTypes">  
                            <asp:LinkButton ID="cmdPacket" runat="server" Font-Size="Small" ForeColor="Red">Packet</asp:LinkButton>&nbsp;</asp:Panel>  
                        <asp:Panel ID="panOther" runat="server" Width="75px" CssClass="fileTypes">  
                            <asp:LinkButton ID="cmdOther" runat="server" Font-Size="Small" ForeColor="Red">Other Files</asp:LinkButton>&nbsp;</asp:Panel>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="left">  
                        <asp:Label ID="lblLabelFileType" runat="server" Font-Size="Small" Text="File Type:"></asp:Label>  
                    </td>  
                    <td align="left">  
                        <asp:Label ID="lblFileType" runat="server" Font-Size="Small" Text="No File Type Selected"></asp:Label>  
                    </td>  
                </tr>  
                <tr>  
                    <td>  
                        &nbsp;  
                    </td>  
                    <td align="left">  
                        <asp:Table ID="tabFiles" Font-Size="Small" runat="server">  
                        </asp:Table>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="left" class="style6">  
                    </td>  
                    <td align="left">  
                        <telerik:RadUpload ID="RadUpload1" runat="server" MaxFileInputsCount="1" Skin="Office2007" 
                            Enabled="False">  
                        </telerik:RadUpload>  
                    </td>  
                </tr>  
                <tr>  
                    <td align="center" colspan='2'>  
                        <asp:ImageButton ID="cmdSubmit" runat="server" />&nbsp;  
                        <asp:ImageButton ID="cmdCancel" runat="server" /><asp:HiddenField ID="PacketID" runat="server" />  
                    </td>  
                </tr>  
            </table>  
        </asp:Panel>  
    </div>  
</asp:Content>  
 
 
protected void RadGrid2_ItemCommand(object source, GridCommandEventArgs e)  
    {  
        if (e.CommandName == "Details")  
        {  
            LoadPacket(e.CommandArgument.ToString());  
            panPackets.Visible = false;  
        }  
 
        if (e.CommandName == RadGrid.FilterCommandName)  
        {  
            Pair filterPair = (Pair)e.CommandArgument;  
 
            switch (filterPair.Second.ToString())  
            {  
                case "PublishDate":  
                    this.startDate = ((e.Item as GridFilteringItem)[filterPair.Second.ToString()].FindControl("FromOrderDatePicker"as RadDatePicker).SelectedDate;  
                    this.endDate = ((e.Item as GridFilteringItem)[filterPair.Second.ToString()].FindControl("ToOrderDatePicker"as RadDatePicker).SelectedDate;  
                    break;  
                default:  
                    break;  
            }  
        }  
 
    }  
 
Yavor
Telerik team
 answered on 03 Feb 2010
1 answer
156 views
I would like to build a composite component with Google like filtering.  Currently in my demo, I am adding the filtering in the code behind as below:

I am searching for a way to do this so that each developer will not have to add code like this in their code behind.  I was thinking about an event on the radgrid that will do this for me.  Any suggestions would be helpful

 

if (!IsPostBack)

 

{

dt = GetDataTable(

 

null,null);

 

 

 

this.rgContracts.MasterTableView.Columns.Clear();

 

 

 

 

MyCustomFilteringColumnCS DBA = new MyCustomFilteringColumnCS();

 

 

 

this.rgContracts.MasterTableView.Columns.Add(DBA);

 

DBA.DataField =

 

"DBA Name";

 

DBA.HeaderText =

 

"DBA Name";

 

DBA.HeaderStyle.Width =

 

Unit.Pixel(200);

 

DBA.FilterControlWidth =

 

Unit.Pixel(175);

 

DBA.ItemStyle.ForeColor = System.Drawing.

 

Color.Blue;

 

DBA.ItemStyle.Font.Underline =

 

true;

 

 

 

MyCustomFilteringColumnCS ContractType = new MyCustomFilteringColumnCS();

 

 

 

this.rgContracts.MasterTableView.Columns.Add(ContractType);

 

ContractType.DataField =

 

"Contract Type";

 

ContractType.HeaderText =

 

"Contract Type";

 

ContractType.HeaderStyle.Width =

 

Unit.Pixel(75);

 

ContractType.FilterControlWidth =

 

Unit.Pixel(55);

 

 

 

MyCustomFilteringColumnCS Clause = new MyCustomFilteringColumnCS();

 

 

 

this.rgContracts.MasterTableView.Columns.Add(Clause);

 

Clause.DataField =

 

"Clause";

 

Clause.HeaderText =

 

"Clause";

 

Clause.HeaderStyle.Width =

 

Unit.Pixel(90);

 

Clause.FilterControlWidth =

 

Unit.Pixel(70);

 

Clause.ItemStyle.ForeColor = System.Drawing.

 

Color.Blue;

 

Clause.ItemStyle.Font.Underline =

 

true;

 

 

 

MyCustomFilteringColumnCS Notes = new MyCustomFilteringColumnCS();

 

 

 

this.rgContracts.MasterTableView.Columns.Add(Notes);

 

Notes.DataField =

 

"Notes";

 

Notes.HeaderText =

 

"Notes";

 

Notes.HeaderStyle.Width =

 

Unit.Pixel(300);

 

Notes.FilterControlWidth =

 

Unit.Pixel(280);

 

 

 

MyCustomFilteringColumnCS Status = new MyCustomFilteringColumnCS();

 

 

 

this.rgContracts.MasterTableView.Columns.Add(Status);

 

Status.DataField =

 

"Status";

 

Status.HeaderText =

 

"Status";

 

Status.HeaderStyle.Width =

 

Unit.Pixel(60);

 

Status.FilterControlWidth =

 

Unit.Pixel(40);

 

 

 

MyCustomFilteringColumnCS FC = new MyCustomFilteringColumnCS();

 

 

 

this.rgContracts.MasterTableView.Columns.Add(FC);

 

FC.DataField =

 

"Future Condition";

 

FC.HeaderText =

 

"Future Condition";

 

FC.HeaderStyle.Width =

 

Unit.Pixel(86);

 

FC.FilterControlWidth =

 

Unit.Pixel(66);

 

 

 

MyCustomFilteringColumnCS BD = new MyCustomFilteringColumnCS();

 

 

 

this.rgContracts.MasterTableView.Columns.Add(BD);

 

BD.DataFormatString =

 

"{0:d}";

 

BD.HtmlEncode =

 

false;

 

BD.DataField =

 

"Begin Date";

 

BD.HeaderText =

 

"Begin Date";

 

BD.HeaderStyle.Width =

 

Unit.Pixel(75);

 

BD.FilterControlWidth =

 

Unit.Pixel(55);

 

 

 

MyCustomFilteringColumnCS ED = new MyCustomFilteringColumnCS();

 

 

 

this.rgContracts.MasterTableView.Columns.Add(ED);

 

ED.DataFormatString =

 

"{0:d}";

 

ED.HtmlEncode =

 

false;

 

ED.DataField =

 

"End Date";

 

ED.HeaderText =

 

"End Date";

 

ED.HeaderStyle.Width =

 

Unit.Pixel(75);

 

ED.FilterControlWidth =

 

Unit.Pixel(55);

 

}

}

 

Yavor
Telerik team
 answered on 03 Feb 2010
1 answer
152 views
I am looking for some tips on using the Inline edit feature of the Radgrid.

In normal mode, my grid row will have this look:
Header >:  Name    Date Of Hire 
ROW >:      steve     01/01/2001    <edit link>

When I click on the <edit link>, I will enter the inline mode.  I want the value in the Name column to remain a Literal and I want the Date Of Hire column to turn into a RadDatePicker control.

How would I define the controls within the <Columns></Columns> elements of the RadGrid.

Thanks.

Steve
Princy
Top achievements
Rank 2
 answered on 03 Feb 2010
1 answer
158 views

We are using the RadGrid control with vertical scrolling enabled. It sits within a divstructure whereby the control can be resized using a vertical splitter – i.e.the grid control will resize when the divs are resized by the splitter. Thisappears to work fine as long as the vertical scrollbar of the grid is notdisplayed. If overflow occurs and the scrollbar is displayed, when the grid isresize using the splitter, the data columns resize correctly, but the headersare completely static. Thus, the headers are completely out of line with thedata content. This is true in IE7, IE8, Firefox and Chrome. Is there a way to fix this or something I might be missing?


Many thanks


Sam

Schlurk
Top achievements
Rank 2
 answered on 02 Feb 2010
3 answers
155 views
i have a asp button called delete.i want that when i push delete button radwindow asks "are you sure want to delete" than i want to called the sp with its return.i put a two asp button in radwindow called ok and cancel but when i called it , it does not show me the buttons.can you help me about how can i make this senario?
Teoman
Top achievements
Rank 1
 answered on 02 Feb 2010
5 answers
143 views
I have a RadGrid with State, County and Customer columns.  Each column has a dropdown for filtering.  I need the County filter to be hidden and empty until a state is selected from the State filter.  Once a user has selected a state in the State filter dropdown, the County filter should become visible and contain ONLY counties that correspond to the chosen state.  I can't seem to get the County dropdown to be affected in any way.

Anyone have any ideas?

Here's some code:

    <telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="True" AllowPaging="True" 
      AllowSorting="True" AutoGenerateColumns="False" DataSourceID="odsVendorFees" GridLines="None" 
      EnableAjaxSkinRendering="true"
      <MasterTableView DataSourceID="odsVendorFees"
        <RowIndicatorColumn> 
          <HeaderStyle Width="20px"></HeaderStyle> 
        </RowIndicatorColumn> 
        <ExpandCollapseColumn> 
          <HeaderStyle Width="20px"></HeaderStyle> 
        </ExpandCollapseColumn> 
        <Columns> 
          <telerik:GridBoundColumn DataField="StateName" HeaderText="StateName" SortExpression="State" 
            UniqueName="STATENAME"
            <FilterTemplate> 
              <asp:TextBox runat="server" ID="TextBox1" Style="display: none;" /> 
              <telerik:RadComboBox runat="server" ID="ddFilterSN" AutoPostBack="true" DataSourceID="odsStates" 
                DataTextField="StateName" DataValueField="StateCode" OnSelectedIndexChanged="ddFilterSN_SelectedIndexChanged" 
                Skin="Outlook" AppendDataBoundItems="true"
                <Items> 
                  <telerik:RadComboBoxItem runat="server" id="iPubNameBlank" Text="" Value="" /> 
                  <telerik:RadComboBoxItem runat="server" id="iPubNameClear" ForeColor="Blue" Font-Italic="true" 
                    Text="Show All States" Value="Clear Search" /> 
                </Items> 
              </telerik:RadComboBox> 
            </FilterTemplate> 
          </telerik:GridBoundColumn> 
          <telerik:GridBoundColumn DataField="CountyName" HeaderText="CountyName" SortExpression="County" 
            UniqueName="COUNTYNAME"
            <FilterTemplate> 
              <asp:TextBox runat="server" ID="TextBox2" Style="display: none;" /> 
              <telerik:RadComboBox runat="server" ID="ddFilterCN" AutoPostBack="true" DataTextField="CountyName" 
                DataValueField="CountyName" OnSelectedIndexChanged="ddFilterCN_SelectedIndexChanged" 
                Skin="Outlook" AppendDataBoundItems="true"
                <Items> 
                  <telerik:RadComboBoxItem runat="server" id="iPubNameBlank" Text="" Value="" /> 
                  <telerik:RadComboBoxItem runat="server" id="iPubNameClear" ForeColor="Blue" Font-Italic="true" 
                    Text="Show All Counties" Value="Clear Search" /> 
                </Items> 
              </telerik:RadComboBox> 
            </FilterTemplate> 
          </telerik:GridBoundColumn> 
          <telerik:GridBoundColumn DataField="CustomerName" HeaderText="CustomerName" SortExpression="Customer Name" 
            UniqueName="CustomerName"
          </telerik:GridBoundColumn> 
        </Columns> 
      </MasterTableView> 
    </telerik:RadGrid> 
 


    Public Sub ddFilterSN_SelectedIndexChanged(ByVal sender As ObjectByVal e As RadComboBoxSelectedIndexChangedEventArgs) 
        ' filter the grid based on state name 
        Dim filterItem As GridFilteringItem = DirectCast(RadGrid1.MasterTableView.GetItems(GridItemType.FilteringItem)(0),  _ 
        GridFilteringItem) 
        Dim ddCN As RadComboBox = CType(filterItem("COUNTYNAME").Controls(3), RadComboBox) 
 
        If e.Value = "Clear Search" Then 
            ddCN.Visible = False 
            RadGrid1.MasterTableView.FilterExpression = Nothing 
            RadGrid1.Rebind() 
        Else 
            Dim lstCounties As List(Of County) = CountyDAL.GetCountiesByStateCode(e.Value) 
 
            TryCast(filterItem("STATENAME").Controls(1), TextBox).Text = e.Text 
            filterItem.FireCommandEvent("Filter"New Pair("EqualTo""STATENAME")) 
 
            ddCN.DataSource = lstCounties 
            ddCN.DataBind() 
            ddCN.Visible = False 
            RadGrid1.DataBind() 
        End If 
    End Sub 
 




Marc Lee
Top achievements
Rank 2
 answered on 02 Feb 2010
1 answer
116 views
Hi

I have a RadNumericTextBox and a dropdownlist with the options of 0 and 2.

In the onSelectionChanged javascript event of the dropdownlist I set the number of DecimalDigits on the RadNumericTextBox to the selected value.

$find(clientId).get_numberFormat().DecimalDigits = 2;

This works, but the display of the RadNumericTextBox is not updated.  So if I currently have 5.55 in the box and and switch the dropdownlist to 0, the box will still show 5.55.  If I then click in the box and click out, it will show 5.

Is there a way to make the display update when i change the DecimalDigits property, and not require that it gets focus?

Thank You
Caleb Sandfort
Top achievements
Rank 1
 answered on 02 Feb 2010
Narrow your results
Selected tags
Tags
+? more
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?