Hi,
I have bound data to a radgrid using the needdatasource method to display a set of details that I want. It works fine and I was able to remove the filter icon from each column and set the current filter function to contains as well.
Now, I want to be able to filter the details that I am seeing, but even though the options are set in the radgrid definition I can not filter or group my data. The events do not fire or cause any change.
What have I missed or done wrong? Please help.
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="time-and-action-ganttchart-details.aspx.cs" Inherits="time_and_action_ganttchart_details" %><asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> <title>Genesis | Time And Action</title></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="headstyles" runat="Server"></asp:Content><asp:Content ID="Content3" ContentPlaceHolderID="pagehead" runat="Server"> <h1>Time And Action <small>time and action plan</small></h1></asp:Content><asp:Content ID="Content4" ContentPlaceHolderID="body" runat="Server"> <!-- BEGIN PAGE BREADCRUMB --> <ul class="page-breadcrumb breadcrumb"> <li> <a href="#">Home</a><i class="fa fa-circle"></i> </li> <li class="active">time and action plan </li> </ul> <!-- END PAGE BREADCRUMB --> <!-- BEGIN PAGE CONTENT INNER --> <div class="row"> <div class="col-md-12"> <!-- BEGIN SAMPLE FORM PORTLET--> <div class="portlet light "> <div class="portlet-title"> <div class="caption caption-md"> <i class="icon-bar-chart theme-font-color hide"></i> <span class="caption-subject theme-font-color bold uppercase">Time And Action Plan</span> </div> <div class="actions"> <a class="btn btn-circle btn-icon-only btn-default fullscreen" href="javascript:;"></a> </div> </div> <div class="portlet-body"> <div class="table-responsive"> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:ImageButton ID="ImageButton1" runat="server" OnClick="ImageButton1_Click" ImageUrl="~/images/Office-Excel-icon.png" Width="4%" Height="4%" ToolTip="Export to Excel" /> <telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource" AllowSorting="True" AllowPaging="True" ShowGroupPanel="True" GroupingSettings-CaseSensitive="false" AllowFilteringByColumn="True" CellSpacing="-1" GridLines="Both" Skin="Metro" CssClass="rad_header_style" Width="100%" OnColumnCreated="RadGrid1_ColumnCreated" OnDataBound="RadGrid1_DataBound"> </telerik:RadGrid> </div> </div> </div> </div> </div> <!-- END PAGE CONTENT --></asp:Content><asp:Content ID="Content5" ContentPlaceHolderID="footer" runat="Server"> <!-- BEGIN PAGE LEVEL PLUGINS --> <script type="text/javascript" src="../../assets/global/plugins/fancybox/source/jquery.fancybox.pack.js"></script> <script src="../../assets/global/scripts/metronic.js" type="text/javascript"></script> <script src="../../assets/admin/layout4/scripts/layout.js" type="text/javascript"></script> <script src="../../assets/admin/layout4/scripts/demo.js" type="text/javascript"></script> <script> jQuery(document).ready(function () { Metronic.init(); // init metronic core components Layout.init(); // init current layout Demo.init(); // init demo features }); </script> <!-- END PAGE LEVEL PLUGINS --></asp:Content>
using System;using System.Data;using System.Linq;using Telerik.Web.UI;public partial class time_and_action_ganttchart_details : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { } protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { short techpackID = 93; // short.Parse(Request.QueryString[0]); DataTable dt = new DataTable(); dt.Columns.Add("Customer", typeof(string)); dt.Columns.Add("Account", typeof(string)); dt.Columns.Add("Season", typeof(string)); dt.Columns.Add("Program", typeof(string)); dt.Columns.Add("Tech Pack Name", typeof(string)); dt.Columns.Add("Design Ref", typeof(string)); dt.Columns.Add("Stroke", typeof(string)); dt.Columns.Add("Type", typeof(string)); dt.Columns.Add("Assortment Name", typeof(string)); dt.Columns.Add("Component", typeof(string)); dt.Columns.Add("RM Description", typeof(string)); dt.Columns.Add("Supplier", typeof(string)); dt.Columns.Add("CSP", typeof(string)); dt.Columns.Add("Mode", typeof(string)); dt.Columns.Add("RM Color Code", typeof(string)); dt.Columns.Add("RM Color Name", typeof(string)); dt.Columns.Add("Silhoutte", typeof(string)); dt.Columns.Add("Garment Number", typeof(string)); using (PDLC.Data.PDLCEntities context = new PDLC.Data.PDLCEntities()) { var version = context.V_TimeAndAction_TechPackLeadTime.Where(x => x.TP_ID == techpackID).Select(s => new { s.VersionID }).Max(p => p.VersionID); var distinctEvents = context.V_TimeAndAction_TechPackLeadTime.Where(x => x.TP_ID == techpackID && x.VersionID == version).Select(s => new { s.EventText, s.EventOrder }).Distinct().OrderBy(o => o.EventOrder); foreach (var eventname in distinctEvents) { dt.Columns.Add(eventname.EventText, typeof(string)); dt.Columns.Add("Actual " + eventname.EventText, typeof(string)); dt.Columns.Add("Committed " + eventname.EventText, typeof(string)); } var assortmentIdList = context.V_TimeAndAction_TechPackLeadTime.Where(x => x.TP_ID == techpackID && x.VersionID == version).Select(s => new { s.AS_ID }).Distinct(); foreach (var assortmentId in assortmentIdList) { var rawMaterialList = context.V_TimeAndAction_TechPackLeadTime.Where(x => x.TP_ID == techpackID && x.VersionID == version && x.AS_ID == assortmentId.AS_ID).Select(s => new { s.RawMaterialID }).OrderBy(o => o.RawMaterialID).Distinct(); foreach (var rawmaterial in rawMaterialList) { DataRow dr = dt.NewRow(); var headerDetails = context.V_TimeAndAction_TechPackLeadTime.Where(x => x.TP_ID == techpackID && x.VersionID == version && x.AS_ID == assortmentId.AS_ID && x.RawMaterialID == rawmaterial.RawMaterialID).Select(s => new { s.Cust_Name, s.Account_Name, s.Season_Name, s.ProgramName, s.Design_Ref, s.Stroke, s.StyleTypeName, s.Component_Name, s.Description60Digit, s.sales_office_name, s.Color_Code, s.Color_Name, s.ShapeName, s.GMT_ID, s.TP_Name, s.Assortment_name }).Distinct().First(); dr["Customer"] = headerDetails.Cust_Name; dr["Account"] = headerDetails.Account_Name; dr["Season"] = headerDetails.Season_Name; dr["Program"] = headerDetails.ProgramName; dr["Tech Pack Name"] = headerDetails.TP_Name; dr["Design Ref"] = headerDetails.Design_Ref; dr["Stroke"] = headerDetails.Stroke; dr["Type"] = headerDetails.StyleTypeName; dr["Assortment Name"] = headerDetails.Assortment_name; dr["Component"] = headerDetails.Component_Name; dr["RM Description"] = headerDetails.Description60Digit; dr["Supplier"] = headerDetails.sales_office_name; dr["CSP"] = "CSP"; dr["Mode"] = "Mode"; dr["RM Color Code"] = headerDetails.Color_Code; dr["RM Color Name"] = headerDetails.Color_Name; dr["Silhoutte"] = headerDetails.ShapeName; dr["Garment Number"] = headerDetails.GMT_ID; var eventIdList = context.V_TimeAndAction_TechPackLeadTime.Where(x => x.TP_ID == techpackID && x.VersionID == version && x.AS_ID == assortmentId.AS_ID && x.RawMaterialID == rawmaterial.RawMaterialID).Select(s => new { s.EventID, s.EventOrder, s.EventText }).Distinct().OrderBy(o => o.EventOrder); foreach (var eventId in eventIdList) { var timeandactiondates = context.V_TimeAndAction_TechPackLeadTime.Where(x => x.TP_ID == techpackID && x.VersionID == version && x.AS_ID == assortmentId.AS_ID && x.RawMaterialID == rawmaterial.RawMaterialID && x.EventID == eventId.EventID).Select(s => new { s.TimeAndActionES, s.ActualDate, s.CommittedDate }).Distinct().FirstOrDefault(); DateTime timeandactiones = (DateTime)timeandactiondates.TimeAndActionES; dr[eventId.EventText] = timeandactiones.ToShortDateString(); if (timeandactiondates.ActualDate != null) { DateTime timeandactionactual = (DateTime)timeandactiondates.ActualDate; dr["Actual " + eventId.EventText] = timeandactionactual.ToShortDateString(); } else { dr["Actual " + eventId.EventText] = timeandactiondates.ActualDate; } if (timeandactiondates.CommittedDate != null) { DateTime timeandactualcommitted = (DateTime)timeandactiondates.CommittedDate; dr["Committed " + eventId.EventText] = timeandactualcommitted.ToShortDateString(); } else { dr["Committed " + eventId.EventText] = timeandactiondates.CommittedDate; } } dt.Rows.Add(dr); } } } RadGrid1.DataSource = dt; } protected void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e) { RadGrid1.Rebind(); RadGrid1.ExportSettings.ExportOnlyData = true; RadGrid1.ExportSettings.IgnorePaging = true; RadGrid1.ExportSettings.OpenInNewWindow = true; RadGrid1.ExportSettings.UseItemStyles = true; RadGrid1.ExportSettings.Excel.Format = GridExcelExportFormat.Xlsx; RadGrid1.ExportSettings.FileName = "T-and-A " + DateTime.Today.ToString("yyyy-MM-dd"); RadGrid1.MasterTableView.ExportToExcel(); } protected void RadGrid1_ColumnCreated(object sender, GridColumnCreatedEventArgs e) { e.Column.ShowFilterIcon = false; } protected void RadGrid1_DataBound(object sender, EventArgs e) { foreach (GridColumn column in RadGrid1.MasterTableView.AutoGeneratedColumns) { column.AutoPostBackOnFilter = true; column.CurrentFilterFunction = GridKnownFunction.Contains; column.ShowFilterIcon = false; } }}Thanks in advance. :)
