asp.net – 自定义日期colmn telerik网格的过滤器选项
发布时间:2020-12-16 07:39:13 所属栏目:asp.Net 来源:网络整理
导读:我正在使用telerik网格.我需要为网格中的所有列应用过滤器. Currenly我正在使用以下代码自定义过滤器选项.通过使用以下代码,我将删除所有列的某些项目.但是,对于任何一个日期列,请告诉我在网格中过滤的可能选项是什么以及如何自定义这些过滤选项? 代码背后
我正在使用telerik网格.我需要为网格中的所有列应用过滤器. Currenly我正在使用以下代码自定义过滤器选项.通过使用以下代码,我将删除所有列的某些项目.但是,对于任何一个日期列,请告诉我在网格中过滤的可能选项是什么以及如何自定义这些过滤选项?
代码背后 protected void RGVTest_Init(object sender,EventArgs e) { GridFilterMenu menu = RGVTest.FilterMenu; int i = 0; while (i < menu.Items.Count) { if (menu.Items[i].Text == "Between" || menu.Items[i].Text == "NotBetween") { menu.Items.RemoveAt(i); } else { i++; } } } * .aspx的:* <telerik:RadGrid ID="RGVTest" runat="server" Skin="Vista" AllowPaging="True" AllowFilteringByColumn="true" AllowSorting="true" GridLines="None" OnItemCommand="RGVTest_ItemCommand" PageSize="10" OnNeedDataSource="RGVTest_NeedDataSource" OnItemDataBound="RGVTest_ItemDataBound" OnInit="RGVTest_Init"> <GroupingSettings CaseSensitive="false" /> <PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="true" /> <MasterTableView AutoGenerateColumns="False" CellSpacing="-1" > <NoRecordsTemplate> <div style="color: red"> No Records to display! </div> </NoRecordsTemplate> <Columns> <telerik:GridTemplateColumn DataField="SSN" ReadOnly="True" HeaderText="SSN" UniqueName="SSN" SortExpression="SSN"> <ItemTemplate> <asp:Label ID="LblSSN" runat="server" Text='<%#Eval("SSN") %>'></asp:Label> </ItemTemplate> <ItemStyle HorizontalAlign="Left" Width="5%" /> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn DataField="Date" HeaderText="Date" UniqueName="Date" SortExpression="Date"> <ItemTemplate> <asp:Label ID="LblDate" runat="server" Text='<%#Eval("Date","{0:MM/dd/yyyy}") %>'></asp:Label> </ItemTemplate> <ItemStyle HorizontalAlign="Left" Width="4%" /> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid> 解决方法
你喜欢这样的方式:
protected void RadGrid1_ItemCommand(object source,GridCommandEventArgs e) { if (e.CommandName == RadGrid.FilterCommandName) { Pair filterPair = e.CommandArgument as Pair; string columnName = Convert.ToString(filterPair.Second); if (columnName == "CreationDate") { e.Canceled = true; string date = ((TextBox)((GridFilteringItem)e.Item)[Convert.ToString(filterPair.Second)].Controls [0]).Text; DateTime startDate = Convert.ToDateTime(date); DateTime endDate = startDate.AddDays(1); string newFilter = "('" + startDate.ToString("MM/dd/yyyy") + "' <= [CreationDate] AND [CreationDate] <= '" + endDate.ToString("MM/dd/yyyy") + "')"; GridBoundColumn dateColumn = (GridBoundColumn)e.Item.OwnerTableView.GetColumnSafe(columnName); dateColumn.CurrentFilterValue = startDate.ToString("MM/dd/yyyy"); RadGrid1.MasterTableView.FilterExpression = newFilter; RadGrid1.Rebind(); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – Global.asax中的事件未触发
- asp.net-mvc – Razor视图中没有渲染的条件ActionLink(asp.
- asp.net-mvc-4 – 使用剃刀循环模型
- asp.net-mvc – 如何用asp.net mvc 3和ListBoxFor显示多个选
- asp.net – IIS 6.0和.Net 4的Default.aspx?
- asp.net-mvc – ASP.NET MVC:自定义排序
- entity-framework – EF Core:内置Created和Edited时间戳
- asp.net – aspnet的最大值:MaxHttpCollectionKeys
- 在ASP.NET web.config全球标记中设置日期格式?
- 跨ASP.NET网站共享CSS,JS,图像,母版页等
推荐文章
站长推荐
热点阅读