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; |
| } |
| } |
