I had a hard time to find a solution to RadMenu filter in RadGrid and made the code myself so i wanted to share it if anyone else needed it.
Maybe someone could point out stuff i could have done better... i used it here to translate to danish...
Maybe someone could point out stuff i could have done better... i used it here to translate to danish...
protected
override
void
OnLoad(EventArgs e)
{
gridview2.HeaderContextMenu.ItemCreated += HeaderContextMenu_ItemCreated;
base
.OnLoad(e);
}
protected
void
HeaderContextMenu_ItemCreated(
object
sender, RadMenuEventArgs e)
{
switch
(e.Item.Value)
{
case
"SortAsc"
:
e.Item.Text =
"Sortere ascending"
;
break
;
case
"SortDesc"
:
e.Item.Text =
"Sortere descending"
;
break
;
case
"SortNone"
:
e.Item.Text =
"Fjern sortering"
;
break
;
case
"GroupBy"
:
e.Item.Remove();
break
;
case
"UnGroupBy"
:
e.Item.Remove();
break
;
case
"ColumnsContainer"
:
e.Item.Text =
"Vis/Fjern Kolonner"
;
break
;
case
"FilterMenuParent"
:
e.Item.Text =
"Filter"
;
break
;
case
"FilterMenuContainer"
:
var btnClearFilter = e.Item.FindControl(
"HCFMClearFilterButton"
)
as
Button;
var lcShowRows = e.Item.Controls[1]
as
LiteralControl;
var lcAnd = e.Item.Controls[4]
as
LiteralControl;
var btnFilter = e.Item.FindControl(
"HCFMFilterButton"
)
as
Button;
if
(btnClearFilter !=
null
) btnClearFilter.Text =
"Fjern filter"
;
if
(lcShowRows !=
null
) lcShowRows.Text =
"<label class=\"rgHCMShow\">Vis rækker der følger disse regler:</label>"
;
if
(lcAnd !=
null
) lcAnd.Text =
"<label class=\"rgHCMAnd\">Og</label>"
;
if
(btnFilter !=
null
) btnFilter.Text =
"Tilføj filters"
;
foreach
(var combo
in
e.Item.Controls.OfType<RadComboBox>())
{
var i = 0;
while
(i < combo.Items.Count)
{
switch
(combo.Items[i].Text)
{
case
"NoFilter"
:
combo.Items[i].Text =
"Intet Filter"
;
i++;
break
;
case
"Contains"
:
combo.Items[i].Text =
"Indeholder"
;
i++;
break
;
case
"EqualTo"
:
combo.Items[i].Text =
"Er Lig Med"
;
i++;
break
;
case
"GreaterThan"
:
combo.Items[i].Text =
"Større End"
;
i++;
break
;
case
"LessThan"
:
combo.Items[i].Text =
"Mindre End"
;
i++;
break
;
default
:
combo.Items.Remove(i);
break
;
}
}
}
break
;
}
}