7 Answers, 1 is accepted
0

Shinu
Top achievements
Rank 2
answered on 06 Aug 2012, 05:23 AM
Hi Berto,
One suggestion is you can add a RadComboBox in the filterTemplate and handle filter in clientside.
ASPX:
Javascript:
Please take a look into this demo .
Thanks,
Shinu.
One suggestion is you can add a RadComboBox in the filterTemplate and handle filter in clientside.
ASPX:
<
telerik:GridBoundColumn
DataField
=
"LastName"
UniqueName
=
"LastName"
HeaderText
=
"LastName"
>
<
FilterTemplate
>
<
telerik:RadComboBox
ID
=
"ddlFilter"
DataSourceID
=
"SqlDataSource1"
DataTextField
=
"LastName"
DataValueField
=
"LastName"
runat
=
"server"
OnClientSelectedIndexChanged
=
"SelectedIndexChanged"
>
</
telerik:RadComboBox
>
</
FilterTemplate
>
</
telerik:GridBoundColumn
>
Javascript:
<script type=
"text/javascript"
>
function
SelectedIndexChanged(sender, args)
{
var
tableView = $find(
"<%# ((GridItem)Container).OwnerTableView.ClientID %>"
);
tableView.filter(
"LastName"
, args.get_item().get_value(),
"EqualTo"
,
true
);
}
</script>
Please take a look into this demo .
Thanks,
Shinu.
0

berto
Top achievements
Rank 1
answered on 08 Aug 2012, 09:06 PM
Thx for tip. I copied above code. I see DDL and I can choose something but filtering does not work.
What can be wrong?
My code:
What can be wrong?
My code:
<
telerik:GridBoundColumn
DataField
=
"Arzt"
FilterControlAltText
=
"Filter Arzt column"
HeaderText
=
"Arzt"
SortExpression
=
"Arzt"
UniqueName
=
"Arzt"
>
<
FilterTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"ddlArzt"
DataSourceID
=
"sqlDDLArzt"
DataValueField
=
"Arzt"
DataTextField
=
"Arzt"
AutoPostBack
=
"true"
AppendDataBoundItems
=
"true"
SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("Arzt").CurrentFilterValue %>'
OnClientSelectedIndexChanged="ddlArzt_SelectedIndexChanged">
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"Alle"
/>
</
Items
>
</
telerik:RadComboBox
>
<
telerik:RadScriptBlock
ID
=
"RadScriptBlock1"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function ddlArzt_SelectedIndexChanged(sender, args) {
var tableView = $find("<%# ((GridItem)Container).OwnerTableView.ClientID %>");
tableView.filter("Arzt", args.get_item().get_value(), "EqualTo");
}
</
script
>
</
telerik:RadScriptBlock
>
</
FilterTemplate
>
<
HeaderStyle
Width
=
"200px"
/>
</
telerik:GridBoundColumn
>
0

berto
Top achievements
Rank 1
answered on 09 Aug 2012, 04:50 PM
Same issue for 2 way to implement this (http://www.telerik.com/help/aspnet-ajax/grid-filtertemplate.html)
asp:
and code file
Any idea what can be wrong, I allready lost 4 days for this DDL and still no progress...
asp:
<
telerik:GridBoundColumn
DataField
=
"Arzt"
FilterControlAltText
=
"Filter Arzt column"
HeaderText
=
"Arzt"
SortExpression
=
"Arzt"
UniqueName
=
"Arzt"
>
<
FilterTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"ddlArzt"
DataSourceID
=
"sqlDDLArzt"
DataValueField
=
"Arzt"
DataTextField
=
"Arzt"
AutoPostBack
=
"true"
AppendDataBoundItems
=
"true"
OnSelectedIndexChanged
=
"ddlArzt_SelectedIndexChanged"
>
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"Alle"
/>
</
Items
>
</
telerik:RadComboBox
>
</
FilterTemplate
>
<
HeaderStyle
Width
=
"200px"
/>
</
telerik:GridBoundColumn
>
and code file
protected void ddlArzt_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e)
{
string filterExpression;
filterExpression = "([Arzt] = '" + e.Value + "')";
rgLLeistungen.MasterTableView.FilterExpression = filterExpression;
rgLLeistungen.MasterTableView.Rebind();
}
Any idea what can be wrong, I allready lost 4 days for this DDL and still no progress...
0

berto
Top achievements
Rank 1
answered on 09 Aug 2012, 06:50 PM
Just one additional information. I am using stored procedures in SQLDataSource.
0

Shinu
Top achievements
Rank 2
answered on 10 Aug 2012, 04:27 AM
Hi Berto,
The First method works fine at my end.I couldn't replicate any issue on it. The second method also works when the EnableLinqExpression is set to false.
ASPX:
Thanks,
Shinu.
The First method works fine at my end.I couldn't replicate any issue on it. The second method also works when the EnableLinqExpression is set to false.
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
EnableLinqExpressions
=
"false"
AllowFilteringByColumn
=
"true"
onneeddatasource
=
"RadGrid1_NeedDataSource1"
>
Thanks,
Shinu.
0

berto
Top achievements
Rank 1
answered on 10 Aug 2012, 07:38 AM
Thanks for update, unfortuanately it didn't move me closer to solve this issue. Where can be an issue? Must I somehow activate javascript in my project? (So far I did not use it at all). Is it an issue with stored procedures and it should be just select statement. I am out of ideas at that moment. I opened support ticket maybe they can help me...
0

berto
Top achievements
Rank 1
answered on 10 Aug 2012, 09:31 AM
Support solved this issue:
Please note that the tableView.filter command causes the page to perform a postback. Therefore, if the AutoPostBack property of the RadComboBox is enabled, its postback could interfere with the one generated by the filter command.
Please note that the tableView.filter command causes the page to perform a postback. Therefore, if the AutoPostBack property of the RadComboBox is enabled, its postback could interfere with the one generated by the filter command.