3 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 30 Aug 2011, 03:12 PM
Hello Giri,
Try the following code snippet.
C#:
Thanks,
Shinu.
Try the following code snippet.
C#:
protected
void
Page_Load(
object
sender, EventArgs e)
{
RadGrid1.MasterTableView.FilterExpression =
string
.Empty;
foreach
(GridColumn column
in
RadGrid1.MasterTableView.RenderColumns)
{
if
(column.SupportsFiltering())
{
column.CurrentFilterValue =
string
.Empty;
column.CurrentFilterFunction = GridKnownFunction.NoFilter;
}
}
RadGrid1.MasterTableView.Rebind();
}
Thanks,
Shinu.
0
Hiren
Top achievements
Rank 1
answered on 31 Aug 2011, 06:00 AM
I am getting this error
Exception Details: System.InvalidOperationException: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
Source Error:
ASPX Page
ASPX.CS
Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.InvalidOperationException: Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
Source Error:
|
ASPX Page
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GoogleFilteringSample.aspx.cs"
Inherits="GoogleFilteringSample" %>
<!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
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
div
>
<
telerik:RadGrid
runat
=
"server"
EnableLinqExpressions
=
"false"
AllowFilteringByColumn
=
"true"
ID
=
"RgdUserControl"
GridLines
=
"None"
OnNeedDataSource
=
"RadGridUserControl_NeedDataSource"
>
<
MasterTableView
AutoGenerateColumns
=
"False"
DataKeyNames
=
"EmployeeID"
AdditionalDataFieldNames
=
"LastName,FirstName"
>
<
RowIndicatorColumn
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
RowIndicatorColumn
>
<
ExpandCollapseColumn
>
<
HeaderStyle
Width
=
"20px"
></
HeaderStyle
>
</
ExpandCollapseColumn
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"EmployeeID"
DataType
=
"System.Int32"
HeaderText
=
"EmployeeID"
ReadOnly
=
"True"
SortExpression
=
"EmployeeID"
UniqueName
=
"EmployeeID"
AllowFiltering
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Title"
HeaderText
=
"Title"
SortExpression
=
"Title"
UniqueName
=
"Title"
>
<
FilterTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"RcbTitle"
AutoPostBack
=
"true"
ShowToggleImage
=
"false"
MarkFirstMatch
=
"true"
OnItemsRequested
=
"RcbTitle_ItemsRequested"
OnClientSelectedIndexChanged
=
"onClientSelectedIndexChangedTitle"
>
</
telerik:RadComboBox
>
</
FilterTemplate
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
DataField
=
"LastName"
HeaderText
=
"LastName"
SortExpression
=
"LastName"
UniqueName
=
"LastName"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RcbLastName"
EnableLoadOnDemand
=
"true"
runat
=
"server"
OnItemsRequested
=
"RcbLastName_ItemsRequested"
ShowToggleImage
=
"false"
MarkFirstMatch
=
"true"
OnClientSelectedIndexChanged
=
"onClientSelectedIndexChangedLN"
>
</
telerik:RadComboBox
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("LastName")%>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
DataField
=
"FirstName"
HeaderText
=
"FirstName"
SortExpression
=
"FirstName"
UniqueName
=
"FirstName"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RcbFirstName"
EnableLoadOnDemand
=
"true"
OnClientSelectedIndexChanged
=
"onClientSelectedIndexChangedFN"
runat
=
"server"
OnItemsRequested
=
"RcbFirstName_ItemsRequested"
ShowToggleImage
=
"false"
MarkFirstMatch
=
"true"
>
</
telerik:RadComboBox
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("FirstName")%>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
DataField
=
"TitleOfCourtesy"
HeaderText
=
"TitleOfCourtesy"
SortExpression
=
"TitleOfCourtesy"
UniqueName
=
"TitleOfCourtesy"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RcbTitleOfCourtesy"
EnableLoadOnDemand
=
"true"
OnClientSelectedIndexChanged
=
"onClientSelectedIndexChangedTitleOfCourtesy"
runat
=
"server"
OnItemsRequested
=
"RcbTitleOfCourtesy_ItemsRequested"
ShowToggleImage
=
"false"
MarkFirstMatch
=
"true"
>
</
telerik:RadComboBox
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("TitleOfCourtesy")%>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
DataField
=
"BirthDate"
HeaderText
=
"BirthDate"
SortExpression
=
"BirthDate"
UniqueName
=
"BirthDate"
DataType
=
"System.DateTime"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RcbBirthDate"
EnableLoadOnDemand
=
"true"
OnClientSelectedIndexChanged
=
"onClientSelectedIndexChangedBirthDate"
runat
=
"server"
OnItemsRequested
=
"RcbBirthDate_ItemsRequested"
ShowToggleImage
=
"false"
MarkFirstMatch
=
"true"
>
</
telerik:RadComboBox
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("BirthDate")%>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
DataField
=
"HireDate"
HeaderText
=
"HireDate"
SortExpression
=
"HireDate"
UniqueName
=
"HireDate"
DataType
=
"System.DateTime"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RcbHireDate"
EnableLoadOnDemand
=
"true"
OnClientSelectedIndexChanged
=
"onClientSelectedIndexChangedHireDate"
runat
=
"server"
OnItemsRequested
=
"RcbHireDate_ItemsRequested"
ShowToggleImage
=
"false"
MarkFirstMatch
=
"true"
>
</
telerik:RadComboBox
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("BirthDate")%>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
DataField
=
"Address"
HeaderText
=
"Address"
SortExpression
=
"Address"
UniqueName
=
"Address"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RcbAddress"
EnableLoadOnDemand
=
"true"
OnClientSelectedIndexChanged
=
"onClientSelectedIndexChangedAddress"
runat
=
"server"
OnItemsRequested
=
"RcbAddress_ItemsRequested"
ShowToggleImage
=
"false"
MarkFirstMatch
=
"true"
>
</
telerik:RadComboBox
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("Address")%>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
DataField
=
"City"
HeaderText
=
"City"
SortExpression
=
"City"
UniqueName
=
"City"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"RcbCity"
EnableLoadOnDemand
=
"true"
runat
=
"server"
OnItemsRequested
=
"RcbCity_ItemsRequested"
ShowToggleImage
=
"false"
MarkFirstMatch
=
"true"
OnClientSelectedIndexChanged
=
"onClientSelectedIndexChangedCity"
>
</
telerik:RadComboBox
>
</
FilterTemplate
>
<
ItemTemplate
>
<%# Eval("City")%>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
><
br
/>
<
asp:Button
ID
=
"clrFilters"
runat
=
"server"
Text
=
"Clear Filter"
OnClick
=
"clrFilters_Click"
/>
<
telerik:RadCodeBlock
ID
=
"RadCodeBlock1"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function onClientSelectedIndexChangedCity(sender, eventArgs) {
var value = eventArgs.get_item().get_value();
$find("<%= RgdUserControl.ClientID %>").get_masterTableView().filter("City", eventArgs.get_item().get_text(), "StartsWith");
}
function onClientSelectedIndexChangedLN(sender, eventArgs) {
var value = eventArgs.get_item().get_value();
$find("<%= RgdUserControl.ClientID %>").get_masterTableView().filter("LastName", eventArgs.get_item().get_text(), "StartsWith");
}
function onClientSelectedIndexChangedFN(sender, eventArgs) {
var value = eventArgs.get_item().get_value();
$find("<%= RgdUserControl.ClientID %>").get_masterTableView().filter("FirstName", eventArgs.get_item().get_text(), "StartsWith");
}
function onClientSelectedIndexChangedTitle(sender, eventArgs) {
var value = eventArgs.get_item().get_value();
$find("<%= RgdUserControl.ClientID %>").get_masterTableView().filter("Title", eventArgs.get_item().get_text(), "StartsWith");
}
function onClientSelectedIndexChangedTitleOfCourtesy(sender, eventArgs) {
var value = eventArgs.get_item().get_value();
$find("<%= RgdUserControl.ClientID %>").get_masterTableView().filter("TitleOfCourtesy", eventArgs.get_item().get_text(), "StartsWith");
}
function onClientSelectedIndexChangedBirthDate(sender, eventArgs) {
var value = eventArgs.get_item().get_value();
$find("<%= RgdUserControl.ClientID %>").get_masterTableView().filter("BirthDate", eventArgs.get_item().get_text(), "StartsWith");
}
function onClientSelectedIndexChangedHireDate(sender, eventArgs) {
var value = eventArgs.get_item().get_value();
$find("<%= RgdUserControl.ClientID %>").get_masterTableView().filter("HireDate", eventArgs.get_item().get_text(), "StartsWith");
}
function onClientSelectedIndexChangedAddress(sender, eventArgs) {
var value = eventArgs.get_item().get_value();
$find("<%= RgdUserControl.ClientID %>").get_masterTableView().filter("Address", eventArgs.get_item().get_text(), "StartsWith");
}
</
script
>
</
telerik:RadCodeBlock
>
<
asp:ScriptManager
ID
=
"ScriptManager1"
runat
=
"server"
>
</
asp:ScriptManager
>
</
div
>
</
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.Data;
using
System.Configuration;
using
System.Data.SqlClient;
public
partial
class
GoogleFilteringSample : System.Web.UI.Page
{
DataTable dt =
null
;
protected
void
Page_Load(
object
sender, EventArgs e)
{
RgdUserControl.MasterTableView.FilterExpression =
string
.Empty;
foreach
(GridColumn column
in
RgdUserControl.MasterTableView.RenderColumns)
{
if
(column.SupportsFiltering())
{
column.CurrentFilterValue =
string
.Empty;
column.CurrentFilterFunction = GridKnownFunction.NoFilter;
}
}
RgdUserControl.MasterTableView.Rebind();
}
protected
void
RcbTitle_ItemsRequested(
object
o, RadComboBoxItemsRequestedEventArgs e)
{
(o
as
RadComboBox).DataTextField =
"Title"
;
(o
as
RadComboBox).DataTextField =
"Title"
;
(o
as
RadComboBox).DataSource = GetDataTable(
"Title"
, e.Text);
(o
as
RadComboBox).DataBind();
}
protected
void
clrFilters_Click(
object
sender, System.EventArgs e)
{
ClearFilter();
}
private
void
ClearFilter()
{
foreach
(GridColumn column
in
RgdUserControl.MasterTableView.Columns)
{
column.CurrentFilterValue =
string
.Empty;
column.CurrentFilterFunction = GridKnownFunction.NoFilter;
}
RgdUserControl.MasterTableView.FilterExpression =
string
.Empty;
RgdUserControl.MasterTableView.Rebind();
}
protected
void
RcbCity_ItemsRequested(
object
o, RadComboBoxItemsRequestedEventArgs e)
{
(o
as
RadComboBox).DataTextField =
"City"
;
(o
as
RadComboBox).DataTextField =
"City"
;
(o
as
RadComboBox).DataSource = GetDataTable(
"City"
, e.Text);
(o
as
RadComboBox).DataBind();
}
protected
void
RcbLastName_ItemsRequested(
object
o, RadComboBoxItemsRequestedEventArgs e)
{
(o
as
RadComboBox).DataTextField =
"LastName"
;
(o
as
RadComboBox).DataTextField =
"LastName"
;
(o
as
RadComboBox).DataSource = GetDataTable(
"LastName"
, e.Text);
(o
as
RadComboBox).DataBind();
}
protected
void
RcbFirstName_ItemsRequested(
object
o, RadComboBoxItemsRequestedEventArgs e)
{
(o
as
RadComboBox).DataTextField =
"FirstName"
;
(o
as
RadComboBox).DataTextField =
"FirstName"
;
(o
as
RadComboBox).DataSource = GetDataTable(
"FirstName"
, e.Text);
(o
as
RadComboBox).DataBind();
}
protected
void
RcbTitleOfCourtesy_ItemsRequested(
object
o, RadComboBoxItemsRequestedEventArgs e)
{
(o
as
RadComboBox).DataTextField =
"TitleOfCourtesy"
;
(o
as
RadComboBox).DataTextField =
"TitleOfCourtesy"
;
(o
as
RadComboBox).DataSource = GetDataTable(
"TitleOfCourtesy"
, e.Text);
(o
as
RadComboBox).DataBind();
}
protected
void
RcbBirthDate_ItemsRequested(
object
o, RadComboBoxItemsRequestedEventArgs e)
{
(o
as
RadComboBox).DataTextField =
"BirthDate"
;
(o
as
RadComboBox).DataTextField =
"BirthDate"
;
(o
as
RadComboBox).DataSource = GetDataTable(
"BirthDate"
, e.Text);
(o
as
RadComboBox).DataBind();
}
protected
void
RcbHireDate_ItemsRequested(
object
o, RadComboBoxItemsRequestedEventArgs e)
{
(o
as
RadComboBox).DataTextField =
"HireDate"
;
(o
as
RadComboBox).DataTextField =
"HireDate"
;
(o
as
RadComboBox).DataSource = GetDataTable(
"HireDate"
, e.Text);
(o
as
RadComboBox).DataBind();
}
protected
void
RcbAddress_ItemsRequested(
object
o, RadComboBoxItemsRequestedEventArgs e)
{
(o
as
RadComboBox).DataTextField =
"Address"
;
(o
as
RadComboBox).DataTextField =
"Address"
;
(o
as
RadComboBox).DataSource = GetDataTable(
"Address"
, e.Text);
(o
as
RadComboBox).DataBind();
}
public
DataTable GetDataTable(
string
columnName,
string
searchString)
{
String myQuery =
string
.Empty;
if
(!columnName.Equals(
"All"
))
myQuery =
"SELECT DISTINCT "
+ columnName +
" FROM Employees WHERE "
+ columnName +
" LIKE '"
+ searchString +
"%'"
;
else
myQuery =
"SELECT [EmployeeID], [LastName], [FirstName], [Title], [TitleOfCourtesy], [BirthDate], [HireDate], [Address], [City] FROM [Employees]"
;
String ConnString = ConfigurationManager.ConnectionStrings[
"ConnectionString"
].ConnectionString;
SqlConnection conn =
new
SqlConnection(ConnString);
SqlDataAdapter adapter =
new
SqlDataAdapter();
adapter.SelectCommand =
new
SqlCommand(myQuery, conn);
DataTable myDataTable =
new
DataTable();
conn.Open();
try
{
adapter.Fill(myDataTable);
}
finally
{
conn.Close();
}
return
myDataTable;
}
protected
void
RadGridUserControl_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
dt = GetDataTable(
"All"
,
string
.Empty);
RgdUserControl.DataSource = dt;
}
}
0
Hi Giri,
Regards,
Marin
the Telerik team
You should add the databinding expressions to a controls like label or literal:
<
ItemTemplate
>
<
asp:Label
ID
=
"Label1"
Text='<%# Eval("OrderID") %>' runat="server"
</
ItemTemplate
>
Regards,
Marin
the Telerik team
Thank you for being the most amazing .NET community! Your unfailing support is what helps us charge forward! We'd appreciate your vote for Telerik in this year's DevProConnections Awards. We are competing in mind-blowing 20 categories and every vote counts! VOTE for Telerik NOW >>