Using VS 2008 SP1 with RadControls for ASP.NET 2011.2.712.V 2.
I copied below example into my Project.
After adding the FilteringTemplateColumns.cs in APP_Code folder, I am getting attached error message.
The results are OK except the error shows in Visual Studio Design/Split Mode. This error does not
show in Telerik Demo.
Below is complete Code:
<%@ Page Language="c#" AutoEventWireup="false" CodeFile="DefaultCS.aspx.cs" Inherits="Telerik.GridExamplesCSharp.Programming.FilteringTemplateColumns.DefaultCS" %> <%@ Register TagPrefix="custom" Namespace="FilteringTemplateColumns" %> <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> </head> <body > <form id="mainForm" method="post" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" Width="97%" AllowFilteringByColumn="True" AllowSorting="True" PageSize="12" ShowFooter="True" AllowPaging="True" runat="server" AutoGenerateColumns="False" GridLines="None" ShowStatusBar="true"> <GroupingSettings CaseSensitive="false" /> <MasterTableView EditMode="InPlace" AllowFilteringByColumn="True" ShowFooter="True" DataKeyNames="CustomerID" TableLayout="Auto"> <Columns> <telerik:GridBoundColumn DataField="ContactName" HeaderText="Contact name"> <HeaderStyle Width="25%" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ContactTitle" HeaderText="Contact title" AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="false"> <HeaderStyle Width="25%" /> </telerik:GridBoundColumn> <telerik:GridTemplateColumn DataField="City" HeaderText="TemplateColumn City"> <HeaderStyle Width="25%" /> <ItemTemplate> <%# Eval("City") %> </ItemTemplate> </telerik:GridTemplateColumn> <custom:MyCustomFilteringColumn DataField="Country" FilterControlWidth="180px" HeaderText="Custom TemplateColumn Country"> <headerstyle width="25%" /> <itemtemplate> <img src='Img/<%# Eval("Country") %>.gif' alt="" style="vertical-align:middle;margin-right:7px;"/><%# Eval("Country") %> </itemtemplate> </custom:MyCustomFilteringColumn> </Columns> </MasterTableView> </telerik:RadGrid> <br /> <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:NorthWindConnectionString %>" ProviderName="System.Data.SqlClient" SelectCommand="SELECT CustomerID, ContactName, ContactTitle, Country, City FROM Customers" runat="server"></asp:SqlDataSource> </form> </body> </html> DefaultCS.aspx.cs _____________ using Telerik.Web.UI; using System.Web.UI.WebControls; namespace Telerik.GridExamplesCSharp.Programming.FilteringTemplateColumns { public partial class DefaultCS : System.Web.UI.Page { } } _________ FilteringTemplateColumns.cs using Telerik.Web.UI; using System.Data; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; using System.Configuration; namespace FilteringTemplateColumns { public class MyCustomFilteringColumn : GridTemplateColumn { public DataTable GetDataTable(string queryString) { string ConnString = ConfigurationManager.ConnectionStrings["NorthWindConnectionString"].ConnectionString; SqlConnection MySqlConnection = new SqlConnection(ConnString); SqlDataAdapter MySqlDataAdapter = new SqlDataAdapter(); MySqlDataAdapter.SelectCommand = new SqlCommand(queryString, MySqlConnection); DataTable myDataTable = new DataTable(); MySqlConnection.Open(); try { MySqlDataAdapter.Fill(myDataTable); } finally { MySqlConnection.Close(); } return myDataTable; } protected override void SetupFilterControls(TableCell cell) { RadComboBox rcBox = new RadComboBox(); rcBox.ID = "DropDownList1"; //rcBox.Width = Unit.Percentage(100); rcBox.AutoPostBack = true; rcBox.DataTextField = this.DataField; rcBox.DataValueField = this.DataField; rcBox.SelectedIndexChanged += rcBox_SelectedIndexChanged; DataTable table = GetDataTable(string.Format("SELECT DISTINCT {0} FROM {1}", this.DataField, "Customers")); DataRow row = table.NewRow(); row[this.DataField] = ""; table.Rows.InsertAt(row, 0); rcBox.DataSource = table; cell.Controls.Add(rcBox); } protected override void SetCurrentFilterValueToControl(TableCell cell) { if (!(this.CurrentFilterValue == "")) { ((RadComboBox)cell.Controls[0]).Items.FindItemByText(this.CurrentFilterValue).Selected = true; } } protected override string GetCurrentFilterValueFromControl(TableCell cell) { string currentValue = ((RadComboBox)cell.Controls[0]).SelectedItem.Value; this.CurrentFilterFunction = (currentValue != "")? GridKnownFunction.EqualTo : GridKnownFunction.NoFilter; return currentValue; } private void rcBox_SelectedIndexChanged(object sender, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e) { ((GridFilteringItem)(((RadComboBox)sender).Parent.Parent)).FireCommandEvent("Filter", new Pair()); } } } Any help will be appreciated.
Thanks
GC_0620