Hi,
I have a radgrid for which allowcolumnfiltering will be managed by a radio button Yes. if the user clicks on Yes then filtering on column should be enabled. I am facing an issue when custom filtering on column is on by clicking on radio button Yes.
When I give value to a column and click on filter button, the filter options(EqualTo,NotEqualTo....) is display as text on the response. I made EnableAjaxSkinRendering property to true but still the issue persists.
Everything works perfectly when i remove radiobutton updates from RadAjaxManager.
Please find code below.
thanks,
Mahesh
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="scrp" runat="server"></asp:ScriptManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server">
</telerik:RadAjaxLoadingPanel>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel2" runat="server">
<img id="imgid" src="images/loading.gif" alt="Loading" />
</telerik:RadAjaxLoadingPanel>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" >
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="radioYes">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="radGrid" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="radioNo">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="radGrid" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<span>Column filter</span>
<asp:RadioButton ID="radioYes" runat="server" GroupName="ColumnFilter" Text="Yes"
AutoPostBack="true" OnCheckedChanged="radioYes_CheckedChanged" />
<asp:RadioButton ID="radioNo" runat="server" GroupName="ColumnFilter" Text="No" AutoPostBack="true"
OnCheckedChanged="radioNo_CheckedChanged" />
<telerik:RadGrid ID="radGrid" runat="server" AutoGenerateColumns="true" AllowPaging="true"
PageSize="5" EnableAjaxSkinRendering="true"
Skin="Office2007">
<PagerStyle Mode="NextPrevNumericAndAdvanced" AlwaysVisible="true" />
</telerik:RadGrid>
</div>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Telerik.Web.UI;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadRadGrid();
}
}
protected void radioNo_CheckedChanged(object sender, EventArgs e)
{
this.radGrid.AllowFilteringByColumn = true;
}
protected void radioYes_CheckedChanged(object sender, EventArgs e)
{
this.radGrid.AllowFilteringByColumn = false;
}
private void LoadRadGrid()
{
this.radGrid.DataSource = GetDataTable();
this.radGrid.DataBind();
}
private DataTable GetDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ID"));
dt.Columns.Add(new DataColumn("Name"));
dt.Columns.Add(new DataColumn("Marks"));
DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["Name"] = "Mahesh";
dr["Marks"] = 100;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 2;
dr["Name"] = "Rajesh";
dr["Marks"] = 55;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 3;
dr["Name"] = "Kishore";
dr["Marks"] = 89;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 4;
dr["Name"] = "Sasi";
dr["Marks"] = 44;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 5;
dr["Name"] = "Kamesh";
dr["Marks"] = 78;
dt.Rows.Add(dr);
return dt;
}
}
I have a radgrid for which allowcolumnfiltering will be managed by a radio button Yes. if the user clicks on Yes then filtering on column should be enabled. I am facing an issue when custom filtering on column is on by clicking on radio button Yes.
When I give value to a column and click on filter button, the filter options(EqualTo,NotEqualTo....) is display as text on the response. I made EnableAjaxSkinRendering property to true but still the issue persists.
Everything works perfectly when i remove radiobutton updates from RadAjaxManager.
Please find code below.
thanks,
Mahesh
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="scrp" runat="server"></asp:ScriptManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server">
</telerik:RadAjaxLoadingPanel>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel2" runat="server">
<img id="imgid" src="images/loading.gif" alt="Loading" />
</telerik:RadAjaxLoadingPanel>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" >
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="radioYes">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="radGrid" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="radioNo">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="radGrid" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<span>Column filter</span>
<asp:RadioButton ID="radioYes" runat="server" GroupName="ColumnFilter" Text="Yes"
AutoPostBack="true" OnCheckedChanged="radioYes_CheckedChanged" />
<asp:RadioButton ID="radioNo" runat="server" GroupName="ColumnFilter" Text="No" AutoPostBack="true"
OnCheckedChanged="radioNo_CheckedChanged" />
<telerik:RadGrid ID="radGrid" runat="server" AutoGenerateColumns="true" AllowPaging="true"
PageSize="5" EnableAjaxSkinRendering="true"
Skin="Office2007">
<PagerStyle Mode="NextPrevNumericAndAdvanced" AlwaysVisible="true" />
</telerik:RadGrid>
</div>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Telerik.Web.UI;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadRadGrid();
}
}
protected void radioNo_CheckedChanged(object sender, EventArgs e)
{
this.radGrid.AllowFilteringByColumn = true;
}
protected void radioYes_CheckedChanged(object sender, EventArgs e)
{
this.radGrid.AllowFilteringByColumn = false;
}
private void LoadRadGrid()
{
this.radGrid.DataSource = GetDataTable();
this.radGrid.DataBind();
}
private DataTable GetDataTable()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("ID"));
dt.Columns.Add(new DataColumn("Name"));
dt.Columns.Add(new DataColumn("Marks"));
DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["Name"] = "Mahesh";
dr["Marks"] = 100;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 2;
dr["Name"] = "Rajesh";
dr["Marks"] = 55;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 3;
dr["Name"] = "Kishore";
dr["Marks"] = 89;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 4;
dr["Name"] = "Sasi";
dr["Marks"] = 44;
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["ID"] = 5;
dr["Name"] = "Kamesh";
dr["Marks"] = 78;
dt.Rows.Add(dr);
return dt;
}
}