I have using a custom filter operation, so after ItemCommond function
if (e.CommandName == RadGrid.FilterCommandName)
I set e.Canceled = true
But I want the datetime filter have the right selected item at the dropdownlist(NoFilter, GreaterThan or so)
I try to change the FilterMenu in Init, but I set it to selected and no use.
part code is
some code behind is
if (e.CommandName == RadGrid.FilterCommandName)
I set e.Canceled = true
But I want the datetime filter have the right selected item at the dropdownlist(NoFilter, GreaterThan or so)
I try to change the FilterMenu in Init, but I set it to selected and no use.
part code is
<telerik:RadGrid ID="RGViewMEdia" Skin="someSkin" EnableEmbeddedSkins="false" |
runat="server" CssClass="list_one" AutoGenerateColumns="False" AllowPaging="True" |
GridLines="None" Width="800px" DataKeyNames="somefield" AllowAutomaticDeletes="True" |
AllowSorting="True" ShowStatusBar="True" AllowFilteringByColumn="true" DefaultSortDirection="Descending" |
DefaultSortExpression="somefield" BorderStyle="None" PageSize="10" AllowCustomPaging="true" OnInit="RGViewMEdia_Init" |
OnItemCommand="RGViewMEdia_ItemCommand" OnNeedDataSource="RGViewMEdia_NeedDataSource" OnItemDataBound="RGViewMEdia_ItemDataBound" |
OnSortCommand="RGViewMEdia_ItemSortCommand" OnPageIndexChanged="RGViewMEdia_PageChangeCommand"> |
...... |
...... |
<telerik:GridDateTimeColumn DataField="somedatefield" HeaderText="DateTime" ReadOnly="True" UniqueName="PublishDate" DataType="System.DateTime" |
SortExpression="somedatefield" DataFormatString="{0:dd.MM.yyyy}" ItemStyle-Width="80px" FilterListOptions="VaryByDataType" |
PickerType="DatePicker" FilterControlWidth="60px"/> |
...... |
protected void RGViewMEdia_ItemCommand(object sender, GridCommandEventArgs e) |
{ |
if (e.CommandName == RadGrid.FilterCommandName) |
{ |
... |
} |
RGViewMEdia.CurrentPageIndex = 0; |
RGViewMEdia.Rebind(); |
e.Canceled = true; |
} |
protected void RGViewMEdia_Init(object sender, EventArgs e) |
{ |
GridFilterMenu menu = RGViewMEdia.FilterMenu; |
// Iterate through the items backwards |
// so that the indexing is not thrown off |
// when items are removed! |
for (int i = menu.Items.Count - 1; i >= 0; i--) |
{ |
if (menu.Items[i].Text.IndexOf("Null")>=0) |
{ |
menu.Items.RemoveAt(i); |
} |
else if (menu.Items[i].Text.IndexOf("EqualTo") >= 0 && menu.Items[i].Text.IndexOf("Than") < 0) |
{ |
menu.Items.RemoveAt(i); |
} |
} |
if (Expression!=null&&Expression.PublicationDateOperate != DateOperate.NoFilter) |
{ |
string operate; |
switch (Expression.PublicationDateOperate) |
{ |
case DateOperate.GreaterThan: |
operate = "GreaterThan"; |
break; |
case DateOperate.GreaterThanOrEqualTo: |
operate = "GreaterThanOrEqualTo"; |
break; |
case DateOperate.LessThan: |
operate = "LessThan"; |
break; |
case DateOperate.LessThanOrEqualTo: |
operate = "LessThanOrEqualTo"; |
break; |
default: |
operate = "NoFilter"; |
break; |
} |
RadMenuItem item = menu.Items.FindItem(i => i.Text == operate); |
if(item!=null) |
item.Selected = true; |
} |
} |