私はフィルタリングを許可したいRadGridを使用しています。個々の列ごとにフィルタリングを許可しますが、すべてのフィルタを適用するようプログラムするボタンを追加しました。RadGridがフィルタ値を失う
しかし、フィルタを適用すると、フィルタボックス内のフィルタ値が失われ、再びそれ自体が再バインドされ、RadGridがリセットされます。これはすべて、コマンドアイテムテンプレートで作成した「適用」フィルタをクリックすると発生します。
ここにいくつかのコードがあります。
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "FilterRadGrid" || e.CommandName == "Filter")
{
string expression = "";
GridFilteringItem item = RadGrid1.MasterTableView.GetItems(GridItemType.FilteringItem)[0] as GridFilteringItem;
string col1 = (item["col1 "].Controls[0] as TextBox).Text;
string col2 = (item["col2"].Controls[0] as TextBox).Text;
string col3= (item["col3"].Controls[0] as TextBox).Text;
if (col1!= "")
expression += "([col1] LIKE \'%" + col1+ "%\')";
if (col2!= "")
{
if (expression != "")
expression += " AND ";
expression += "([col2] LIKE \'%" + col2+ "%\')";
}
if (col3!= "")
{
if (expression != "")
expression += " AND ";
expression += "([col3] LIKE \'%" + col3+ "%\')";
}
RadGrid1.MasterTableView.FilterExpression = expression;
RadGrid1.MasterTableView.Rebind();
}
}
それは、フィルタボックスがクリアされているフィルタの後を除いて、行うことになっているすべてを行い、グリッドはいくつかの奇妙な理由で再び結合していないとグリッドは、もはや濾過されます。 フィルタボックス(col1、col2、col3)の値を保持する方法はありますか?
この件に関するお手伝いをあらかじめありがとうございます。
フィルタテンプレートを使用してこれをどのように処理できますか?私は現在、それに問題があります。 – Derek
@Derek私はこれをやっているときに働いていた会社を去り、そのソースコードを持っていません...ごめんなさい。私がTelerikでいくつかの開発をしてからしばらくしていましたので、私はあなたを助けることができません。 – thomasvdb