「Order by」、「Contains」、「Does not contain」などのテキストを置き換えて、radgrid の FilterMenu を変更する必要があります。
私の試みた解決策は、メニューの ItemCreated イベントにイベントハンドラーを追加することです
grid.FilterMenu.ItemCreated += new RadMenuEventHandler(FilterMenu_ItemCreated);
そして、ItemCreated イベントが発生すると、私のメソッドは e.Item.Text オブジェクトを介していくつかの文字列を検索し、それらを置き換えるだけです。
void FilterMenu_ItemCreated(object sender, RadMenuEventArgs e)
{
if (e.Item.Text == "Group By") e.Item.Text = "Custom text";
}
ただし、 FilterMenu_ItemCreated メソッドはまったく起動しません。以前に HeaderContextMenu のテキストを変更するときに同じアプローチを使用したことがあり、それは完全に正常に機能したため、その理由について混乱しています。例:
radgrid.HeaderContextMenu.ItemCreated +=
new RadMenuEventHandler(HeaderContextMenu_ItemCreated);
...
void HeaderContextMenu_ItemCreated(object sender, RadMenuEventArgs e)
{
if (e.Item.Text == "Order By") e.Item.Text = "Custom text";
}
したがって、このアプローチは HeaderContextMenu では機能しますが、FilterMenu では機能しません。両方のイベント ハンドラーがコード内で次々に追加されますが、動作するのは 1 つだけです。理由はありますか?RadMenuEventHandler が FilterMenu.ItemCreated の適切なタイプの EventHandler ではない可能性がありますか? Telerik のサイトで詳細なドキュメントが見つかりません。